我一直在扩展我的msbuild项目文件和tfs 2010。我想实现的是自动为我的源代码生成文档后建立。我搜索了网页,发现文件Microsoft.TeamFoundation.Build.targets为桌面或团队构建定义了很多可自定义的目标。其中之一是GenerateDocumentation
- 我想要使用的目标。我遇到的问题是,尽管我导入了这个文件,重载的目标不会被msbuild调用。我vcxproj-文件的标题如下所示:msbuild与tfs 2010和importet无法正常工作Microsoft.TeamFoundation.Build.targets
<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>
但是excep t AfterBuild
- 既不需要为本地构建调用GenerateDocumentation
也不要调用BeforeBuild
目标,也不要使用构建服务器构建构建。我错过了什么吗? DefaultTarget="Build"
是否正确?我试图将其更改为DefaultTarget="DesktopBuild"
,但之后调用msbuild
导致了各种错误(MSB4018)。在项目文件中也会导入目标文件$(VCTargetsPath)\Microsoft.Cpp.targets
。删除此导入时,会调用GenerateDocumentation
目标,但不会调用其他目标(包括我也需要的ResourceCompile
)。我能以某种方式使用他们两个吗?
在此先感谢...
唔...听起来前途。谢谢 – AquilaRapax 2012-06-12 10:46:26