How to include XML documentation file in NuGet package built from a project file?

Solution 1:

As long as you set GenerateDocumentationFile in your csproj file like this:

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

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

</Project>

then all the defaults will generate the documentation file at the correct location and it will be included in the NuGet package.

If Visual Studio added DocumentationFile or other elements, you can delete them and replace it with the single GenerateDocumentationFile property.

Solution 2:

For other people who came in with the same problem - and if the accepted answer does not help...

Make sure that you have set the 'Include XML documentation' setting in the build configuration you are using (not just Debug, as by default)

In Visual Studio: enter image description here

or in csproj:

 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
    <GenerateDocumentationFile>true</GenerateDocumentationFile>
  </PropertyGroup>