如何在项目文件构建的NuGet包中包含XML文档文件?

Cha*_*ion 20 .net visual-studio nuget

我认为通常优良的做法是将包含在NuGet包中的C#build生成的XML文档文件与DLL一起包含,以便为消费者提供智能感知文档.

但是,我不清楚在使用VS 2017的项目文件格式构建软件包时如何做到这一点.

这可能吗?

显然我可以切换到维护一个nuspec文件,但VS2017格式非常方便将版本和依赖项保存在一个地方.

Mar*_*ich 24

只要你GenerateDocumentationFile在csproj文件中设置如下:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
    <GenerateDocumentationFile>true</GenerateDocumentationFile>
  </PropertyGroup>

</Project>
Run Code Online (Sandbox Code Playgroud)

然后所有默认值将在正确的位置生成文档文件,它将包含在NuGet包中.

如果添加了Visual Studio DocumentationFile或其他元素,则可以删除它们并将其替换为单个GenerateDocumentationFile属性.

  • 像魅力一样工作!令人沮丧的是,VS改为添加了“ DocumentationFile” (2认同)

Bar*_*osz 7

对于遇到同样问题的其他人 - 如果接受的答案没有帮助......

确保您已在正在使用的构建配置中设置了“包含 XML 文档”设置(不仅仅是默认情况下的“调试”)

在视觉工作室中: 在此输入图像描述

或在 csproj 中:

 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
    <GenerateDocumentationFile>true</GenerateDocumentationFile>
  </PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

  • 如果删除 Condition 属性,它将为所有构建配置生成 XML 文件。 (3认同)