我有很多项目的解决方案。每个项目都配置为在调试模式下构建时生成XML文档文件(默认情况下)。这在我使用Visual Studio 2008构建时有效。 在我的集成服务器上的构建脚本中,我建议MSBuild构建整个解决方案,但它不会生成文档文件。我该怎么办?
我已经尝试将Debug-Condition显式地提供给构建过程,但它没有任何区别。
<Target Name="BuilSolution">
<MSBuild Projects="C:\Path\To\MySolution.sln" targets="Build" Properties="SolutionConfigurationPlatforms='Debug|Any CPU'"/>
</Target>
在构建单个项目时似乎有一些想法可以解决这个问题,但是我做不起,所以我需要提示这样做。
提前致谢!
答案 0 :(得分:6)
在VS 2010中,您可以在C#项目属性中执行此操作,也可以在.csproj文件中定义DocumentationFile
属性。例如:
<PropertyGroup>
...
<DocumentationFile>$(OutputPath)MyAssembly.xml</DocumentationFile>
</PropertyGroup>
$(MSBuildToolsPath)\Microsoft.CSharp.targets
中的MSBuild代码将对正在定义的属性进行调整 - 如果是,则将创建XML注释文件。
答案 1 :(得分:3)
我一直使用CI服务器执行此操作。只需传递属性如下:
Properties =“Configuration = Debug; Platform = Any CPU”
答案 2 :(得分:3)
每个配置的项目属性都不同。在项目属性中,您仅为调试配置启用了XML文档。切换到发布配置并为其启用它。
答案 3 :(得分:0)
狂野猜测 - 我唯一能看到的可能有用的是在构建脚本中设置GenerateDocumentation参数。
引用一些MSDN(引用.NET 4,所以我不确定这是否适用): GenerateDocumentation 一个布尔参数,指示文档是否由构建生成。如果为true,则构建生成文档信息,并将其与构建任务创建的可执行文件或库的名称一起放在.xml文件中。