SauceControl.InheritDoc 0.4.0

Automatically replace <inheritdoc /> tags with inherited documentation at build time

Install-Package SauceControl.InheritDoc -Version 0.4.0
dotnet add package SauceControl.InheritDoc --version 0.4.0
<PackageReference Include="SauceControl.InheritDoc" Version="0.4.0">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add SauceControl.InheritDoc --version 0.4.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

This MSBuild Task automatically replaces inheritdoc tags in your .NET XML documentation with the actual inherited docs. By integrating with MSBuild, this tool has access to the exact arguments passed to the compiler -- including all assembly references -- making it both simpler and more capable than other documentation post-processing tools. As it processes inheritdoc elements, it is able to more accurately resolve base types whether they come from the target framework, referenced NuGet packages, or project references. This means it can be more clever about mapping documentation from base types and members to yours. For example, it can identify when you change the name of a method parameter from the base type’s definition and update the documentation accordingly. It can also remove documentation for non-public types/members to reduce the size of your published XML docs.

How to Use It

  1. Add some inheritdoc tags to your XML documentation comments.

    This tool’s handling of inheritdoc tags is based on the draft design document used for the new prototype Roslyn support, which is in turn based on the inheritdoc support in Sandcastle Help File Builder (SHFB).

  2. Add the SauceControl.InheritDoc NuGet package reference to your project.

    This is a development-only dependency; it will not be deployed with or referenced by your compiled app/library.

  3. Build your project as you normally would.

    The XML docs will be post-processed automatically with each build, whether you use Visual Studio, dotnet CLI, or anything else that hosts the MSBuild engine.

This MSBuild Task automatically replaces inheritdoc tags in your .NET XML documentation with the actual inherited docs. By integrating with MSBuild, this tool has access to the exact arguments passed to the compiler -- including all assembly references -- making it both simpler and more capable than other documentation post-processing tools. As it processes inheritdoc elements, it is able to more accurately resolve base types whether they come from the target framework, referenced NuGet packages, or project references. This means it can be more clever about mapping documentation from base types and members to yours. For example, it can identify when you change the name of a method parameter from the base type’s definition and update the documentation accordingly. It can also remove documentation for non-public types/members to reduce the size of your published XML docs.

How to Use It

  1. Add some inheritdoc tags to your XML documentation comments.

    This tool’s handling of inheritdoc tags is based on the draft design document used for the new prototype Roslyn support, which is in turn based on the inheritdoc support in Sandcastle Help File Builder (SHFB).

  2. Add the SauceControl.InheritDoc NuGet package reference to your project.

    This is a development-only dependency; it will not be deployed with or referenced by your compiled app/library.

  3. Build your project as you normally would.

    The XML docs will be post-processed automatically with each build, whether you use Visual Studio, dotnet CLI, or anything else that hosts the MSBuild engine.

Release Notes

See https://github.com/saucecontrol/InheritDoc/releases for release-specific notes.

  • .NETFramework 4.6

    • No dependencies.
  • .NETStandard 2.0

    • No dependencies.

Showing the top 1 GitHub repositories that depend on SauceControl.InheritDoc:

Repository Stars
saucecontrol/PhotoSauce
MagicScaler high-performance, high-quality image processing pipeline for .NET

Version History

Version Downloads Last updated
0.4.0 318 10/24/2019
0.3.0 258 10/4/2019
0.2.0 43 9/30/2019
0.1.0 46 9/27/2019