我坚持扩展我的 msbuild 项目文件和 tfs 2010。我想要实现的是在构建后自动为我的源代码生成文档。我在网上搜索并发现文件 Microsoft.TeamFoundation.Build.targets 为桌面或团队构建定义了许多可定制的目标。其中之一是GenerateDocumentation
我想使用的 -Target。我遇到的问题是,尽管我导入了这个文件,但 msbuild 并没有调用重载的目标。我的 vcxproj-File 的标题如下所示:
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
在此之后,我将团队构建目标文件包含在语句中
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets"/>
在这个项目文件的最后,我尝试按照 TeamFoundation 目标文件中的建议重载一些目标:
<Target Name="GenerateDocumentation">
<Message Text="GenerateDocumentation invoked" Importance="high"/>
</Target>
<Target Name="BeforeBuild">
<Message Text="BeforeBuild invoked" Importance="high" />
</Target>
<Target Name="AfterBuild">
<Message Text="AfterBuild invoked" Importance="high" />
</Target>
但除了AfterBuild
-Target之外,本地构建和构建服务器的构建都不会调用GenerateDocumentation
nor目标。BeforeBuild
我错过了什么吗?是DefaultTarget="Build"
正确的吗?我试图将其更改为DefaultTarget="DesktopBuild"
但随后调用msbuild
导致各种错误(MSB4018)。在项目文件中,目标文件$(VCTargetsPath)\Microsoft.Cpp.targets
也被导入。删除此导入时,GenerateDocumentation
会调用目标,但不会调用其他目标(包括ResourceCompile
我也需要的)。我可以以某种方式使用它们吗?
提前致谢...