当前位置:  开发笔记 > Android > 正文

msbuild SLN仍然可以获得单独的项目输出?

如何解决《msbuildSLN仍然可以获得单独的项目输出?》经验,为你挑选了1个好方法。

我有一个普通的SLN文件,我正在使用msbuild从命令行编译它.我这样做:

C:\ slndir> msbuild/p:OutDir = C:\ slnbin \

并且它将所有内容转储到C:\ slnbin中,除了网站,它们被部署到C:\ slnbin_PublishedWebsites \.

我想要的是不仅将所有二进制文件都放在bin目录中,而且每个可执行程序都有自己的"部署"文件夹,类似于每个网站获得的.

所以,例如,如果我有以下项目: - Common - Lib1 - Service1 - Lib2 - Service2

我想得到:

  C:\slnbin\ // Everything
  C:\slbin\Deploy\Service1 // Common, Lib1, Service1
  C:\slbin\Deploy\Service2 // Common, Lib2, Service2

我尝试过像"msbuild/p:OutDir = C:\ slnbin\$(ProjectName)"这样的东西,但它只是将它视为文字并创建一个实际的"$(ProjectName)"子目录.

我不需要修改每个项目等等.

这可能吗?简单?



1> Julien Hoara..:

就像John Saunders所说的那样,你需要有一个处理这个过程的主MSBuild文件.

以下是使用MSBuild社区任务的示例:GetSolutionProjects,用于获取给定解决方案的项目




  

  
  
    
  

  
    AnyCPU
    Debug

    
    C:\slbin\Deploy
  

  
  
    
      
    
  

  
    
    
    
  


"与使用Exec任务启动MSBuild.exe,此任务将使用相同的MSBuild工艺打造的子工程.那可以跳过是父母和孩子之间建立共享已建目标的列表,这任务也越来越快因为没有创建新的MSBuild进程." 所以我想foo​​.dll将会构建一次,但我不确定.
什么是构建它所需的命令行?
推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有