我在一个xml文件中设置了多个目标.我希望所有目标都能运行,但只有frist目标才能执行.
这是iam尝试做的简化版本:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="T1">
<Copy SourceFiles="c:\temp\a.txt" DestinationFolder="C:\temp2\" />
</Target>
<Target Name="T2">
<Copy SourceFiles="c:\temp\b.txt" DestinationFolder="C:\temp2\" />
</Target>
</Project>
Run Code Online (Sandbox Code Playgroud)
我从TeamCity CI服务器运行构建,日志报告处理退出代码:0.
任何人都有任何想法为什么它不运行T2?
Mit*_*eat 29
您需要告诉MSBuild您的多个目标
尝试
<Target Name="Build" DependsOnTargets="T1; T2">
</Target>
Run Code Online (Sandbox Code Playgroud)
geo*_*ane 18
MSBuild允许您定义默认目标,它允许您定义目标之间的依赖关系.如果没有定义默认值,则它会运行它找到的第一个默认值.使用DefaultTargets可以调用多个:
<Project DefaultTargets="T1;T2">
Run Code Online (Sandbox Code Playgroud)
目标应完成一个明确定义的步骤.例如,Clean目标将删除清理项目所需的所有必要文件和文件夹.编译将编译所有DLL等.
您的目标通常应声明自己的依赖项:
<Target Name="CI" DependsOnTargets="T1, T2">
</Target>
Run Code Online (Sandbox Code Playgroud)
否则,您的目标应包含您要运行的所有单个步骤:
<Target Name="XX">
<CallTarget Targets="T1"/>
<CallTarget Targets="T2"/>
</Target>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10441 次 |
| 最近记录: |