首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >执行外部MSBuild文件的MSBuild任务

执行外部MSBuild文件的MSBuild任务
EN

Stack Overflow用户
提问于 2009-10-01 04:47:31
回答 4查看 10K关注 0票数 9

我正在尝试设置一个MSBuild文件,它将调用另一个MSBuild文件,我想知道实现这个目标的最佳方法是什么。

我们在构建服务器下载MSBuild文件的场景中使用它,然后根据参数执行适当的第二个文件。

我知道我可以只使用<Exec Command="msbuild.exe ..." />任务,但这似乎有点麻烦。

是否有更简单的方法来使用MSBuild来执行另一个MSBuild文件?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-10-01 04:52:11

您可以使用MSBuild task在另一个MSBuild项目中构建目标。

您还可以将目标放在由两个.targets项目导入的外部MSBuild文件中,并使用CallTarget task构建它。

Update:若要执行外部命令,请使用Exec task

票数 13
EN

Stack Overflow用户

发布于 2010-05-15 23:12:04

使用<MSBuild>任务并不比使用<Exec Command="msbuild.exe .."/>更漂亮。这意味着单个MSBuild进程知道正在构建的所有项目,并且没有冲突;一个特定的项目不能同时由两个线程构建。如果您正在使用"/m“进行构建,这通常是至关重要的。还有其他一些优点,比如在整个构建中有一组记录器。

票数 7
EN

Stack Overflow用户

发布于 2010-04-16 07:28:18

回应Adam的评论:这里有一个执行外部文件的示例--在本例中,它启动nunit。%22用于转义,意思是“以便在可执行路径中有空格。

代码语言:javascript
复制
<Exec Command="%22$(NUnit_Install_Directory)bin\net-2.0\nunit-console.exe%22 
/noshadow @(TestableAssemblies, ' ') /xml 
 $(BuildFilesPath)\NCover-NUnit-Results.xml" /> 

您不需要像我一样使用变量,但我发现它使脚本更易于移植。$(NUnit_Install_Directory)定义为

代码语言:javascript
复制
<PropertyGroup> 
   <NUnit_Install_Directory>c:\Program Files\NUnit 2.5.3\</NUnit_Install_Directory> 
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1501930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档