在我的项目中,我想在AfterBuild之后运行ILMerge目标,所以我做了以下事情:
<Target Name="AfterBuild" AfterTargets="ILMerge" >
<Message Importance="High" Text="AfterBuild"></Message>
</Target>
<Target Name="ILMerge">
<Message Text="IlMerging" Importance="High" />
</Target>
Run Code Online (Sandbox Code Playgroud)
但是不显示"IlMerging"文本,这意味着AfterBuild中的AfterTargets没有被触发.
为什么?
如果要在ILMerge目标之后运行目标,AfterBuild则应该编写脚本.
<Target Name="AfterBuild" >
<Message Importance="High" Text="AfterBuild"></Message>
</Target>
<Target Name="ILMerge" AfterTargets="AfterBuild">
<Message Text="IlMerging" Importance="High" />
</Target>
Run Code Online (Sandbox Code Playgroud)
输出:
AfterBuild: AfterBuild
ILMerge: ILMerge
Run Code Online (Sandbox Code Playgroud)
如果Target AfterBuild应该在ILMerge目标之后运行,那么您需要将AfterBuild目标更改为KMoraz建议的目标.
<Target Name="AfterBuild" DependsOnTargets="ILMerge" >
<Message Importance="High" Text="AfterBuild"></Message>
</Target>
<Target Name="ILMerge" >
<Message Text="IlMerging" Importance="High" />
</Target>
Run Code Online (Sandbox Code Playgroud)
输出:
ILMerge: ILMerge
AfterBuild: AfterBuild
Run Code Online (Sandbox Code Playgroud)
两个脚本都使用命令行
msbuild testtarget.xml/t:AfterBuild
| 归档时间: |
|
| 查看次数: |
3448 次 |
| 最近记录: |