如何为具有多个目标的 CSPROJ 生成 XML 文档
How to generate XML documentation for CSPROJ with multiple targets
我有一个包含多个目标的库项目,例如在 CSPROJ 文件中它有:
<TargetFrameworks>net40;net46;net461;net462;net47</TargetFrameworks>
如果我想要 XML 这些目标框架和 Debug
和 Release
配置的所有组合的文档,我必须 select 在 UI 使用构建配置管理器,然后将其设置为为该组合构建 XML 文档,然后每个组合在 CSPROJ 中单独列为 PropertyGroup
,并带有 [=27] 的预期输出文件=] 文档。
有没有更好的方法?
发布问题和答案,因为我没有在网上其他任何地方找到这个记录
解决此问题的一种方法是在每个 CSPROJ 文件中包含以下内容:
<!-- Build XML documentation for all combinations of target framework x configuration -->
<PropertyGroup>
<DocumentationFile>bin$(Configuration)$(TargetFramework)$(AssemblyName).xml
</DocumentationFile>
</PropertyGroup>
更好的方法是 link 共享配置文件:
<!-- This must come after any other configuration so that it overwrites it -->
<Import Project="$(MSBuildThisFileDirectory)..\Shared.msbuild" />
... 然后将上述行放在该共享配置文件中,您还可以在其中设置所有其他解决方案范围的 CSPROJ 设置,如 Product
、Company
、Copyright
, ...
一个简单的方法是将 GenerateDocumentationFile
属性 设置为 true。 VS UI 想要设置路径,如果设置了路径,MSBuild 目标会将此 属性 设置为真,或者如果 GenerateDocumentationFile
属性 为真,则设置默认路径.所以你可以将它添加到你的 csproj 文件中:
<PropertyGroup>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup>
如果您想将此设置为 true 以便所有项目共享它,请在您的解决方案目录中创建一个名为 Directory.Build.props
的文件,其中包含以下内容,它将自动导入到目录层次如下:
<Project>
<PropertyGroup>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup>
</Project>
我有一个包含多个目标的库项目,例如在 CSPROJ 文件中它有:
<TargetFrameworks>net40;net46;net461;net462;net47</TargetFrameworks>
如果我想要 XML 这些目标框架和 Debug
和 Release
配置的所有组合的文档,我必须 select 在 UI 使用构建配置管理器,然后将其设置为为该组合构建 XML 文档,然后每个组合在 CSPROJ 中单独列为 PropertyGroup
,并带有 [=27] 的预期输出文件=] 文档。
有没有更好的方法?
发布问题和答案,因为我没有在网上其他任何地方找到这个记录
解决此问题的一种方法是在每个 CSPROJ 文件中包含以下内容:
<!-- Build XML documentation for all combinations of target framework x configuration -->
<PropertyGroup>
<DocumentationFile>bin$(Configuration)$(TargetFramework)$(AssemblyName).xml
</DocumentationFile>
</PropertyGroup>
更好的方法是 link 共享配置文件:
<!-- This must come after any other configuration so that it overwrites it -->
<Import Project="$(MSBuildThisFileDirectory)..\Shared.msbuild" />
... 然后将上述行放在该共享配置文件中,您还可以在其中设置所有其他解决方案范围的 CSPROJ 设置,如 Product
、Company
、Copyright
, ...
一个简单的方法是将 GenerateDocumentationFile
属性 设置为 true。 VS UI 想要设置路径,如果设置了路径,MSBuild 目标会将此 属性 设置为真,或者如果 GenerateDocumentationFile
属性 为真,则设置默认路径.所以你可以将它添加到你的 csproj 文件中:
<PropertyGroup>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup>
如果您想将此设置为 true 以便所有项目共享它,请在您的解决方案目录中创建一个名为 Directory.Build.props
的文件,其中包含以下内容,它将自动导入到目录层次如下:
<Project>
<PropertyGroup>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup>
</Project>