Zai*_*zvi 2 msbuild hook target
有人可以指点我关于 MSBuild 中目标钩子的参考吗?
我正在寻找可以让我定义在指定目标之前和之后运行的目标的东西。我知道这可以使用 DependsOnTargets 属性来完成,但我已经看到使用目标挂钩的参考,我想探索该领域。
谢谢,赞恩
如果您了解 DependsOnTargets 背后的想法,请打开 .Net SDK 目录 (C:\Windows\Microsoft.NET\Framework\v3.5) 中的 Microsoft.Common.targets 文件。该文件定义 MSBuild 任务和 Visual Studio 创建的 .Net 项目的生成过程。查找名为 BeforeXXXX 和 AfterXXXX 的标签。BeforeBuild 和 AfterBuild 在 default.csproj 文件中引用 - 代码片段:
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
Run Code Online (Sandbox Code Playgroud)
还有其他的,例如清理、重建等。
定义一个目标(或多个目标)以在这些目标元素内执行,如下所示(根据目录属性中的值创建目录或目录列表:
<Target Name="CreateDir">
<MakeDir Directories="D:\Dogs.txt"/>
</Target>
Run Code Online (Sandbox Code Playgroud)
然后将这些目标包含在 BeforeXXX 目标中:
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Target Name="BeforeBuild" BeforeTargets="CreateDir">
</Target>
</Project>
Run Code Online (Sandbox Code Playgroud)
可以在此处找到内置可覆盖构建过程挂钩的良好列表。对于自定义目标,我唯一能想到的就是使用 DependsOnTarget 属性(如您提到的)或 BeforeTargets/AfterTargets 属性(如提到的 @Ritch Melton。)小心,BeforeTargets/AfterTargets 仅在 MSBuild 4.0 中可用
| 归档时间: |
|
| 查看次数: |
2177 次 |
| 最近记录: |