DocumentationFile 和GenerateDocumentationFile 可以在.Net 项目文件中一起使用吗?

SEN*_*Nya 5 .net c# msbuild xml-documentation

我正在为 C# 项目编写一个小型分析器,用于检查 XML 文档生成是否存在且设置正确。有两个选项可用于指定 XML 文档:

  • 较旧的DocumentationFile选项
  • 较新的GenerateDocumentationFile旗帜。如果该标志设置为 true,MSBuild 应在项目的输出目录中生成一个带有项目名称的 XML 文档文件。

这两个选项都可以在项目文件中明确指定吗?这些选项的值会被合并还是其中一个选项将被忽略?

Han*_*ank 6

两者都不需要设置。如果DocumentationFile不为空,则将GenerateDocumentationFile设置true为 MSBuild 目标。

如果设置GenerateDocumentationFile为,则将根据项目文件名设置true默认值。DocumentationFile

相关的 MSBuild 目标

  <!-- Handle XML documentation file settings -->
  <PropertyGroup Condition="'$(GenerateDocumentationFile)' == ''">
    <GenerateDocumentationFile Condition="'$(DocumentationFile)' == ''">false</GenerateDocumentationFile>
    <GenerateDocumentationFile Condition="'$(DocumentationFile)' != ''">true</GenerateDocumentationFile>
  </PropertyGroup>

  <PropertyGroup Condition="'$(GenerateDocumentationFile)' == 'true' and '$(DocumentationFile)' == ''">
    <DocumentationFile Condition="'$(MSBuildProjectExtension)' == '.vbproj'">$(AssemblyName).xml</DocumentationFile>
    <DocumentationFile Condition="'$(MSBuildProjectExtension)' != '.vbproj'">$(IntermediateOutputPath)$(AssemblyName).xml</DocumentationFile>
  </PropertyGroup>

  <PropertyGroup Condition="'$(GenerateDocumentationFile)' != 'true'">
    <DocumentationFile />
  </PropertyGroup>
Run Code Online (Sandbox Code Playgroud)