SauceControl.InheritDoc 0.2.0

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package SauceControl.InheritDoc --version 0.2.0
                    
NuGet\Install-Package SauceControl.InheritDoc -Version 0.2.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SauceControl.InheritDoc" Version="0.2.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.
<PackageVersion Include="SauceControl.InheritDoc" Version="0.2.0" />
                    
Directory.Packages.props
<PackageReference Include="SauceControl.InheritDoc">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add SauceControl.InheritDoc --version 0.2.0
                    
#r "nuget: SauceControl.InheritDoc, 0.2.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=SauceControl.InheritDoc&version=0.2.0
                    
Install SauceControl.InheritDoc as a Cake Addin
#tool nuget:?package=SauceControl.InheritDoc&version=0.2.0
                    
Install SauceControl.InheritDoc as a Cake Tool

InheritDoc

This MSBuild Task takes a different approach from other documentation post-processing tools. By integrating with MSBuild, it has access to the exact arguments passed to the compiler, including assembly references and the output assembly and XML documentation file paths. 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 more accurate resolution of references 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.

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. There is no 3.

    Once the package reference is added to your project, the XML docs will be processed automatically with each build.

How it Works

The InheritDoc task inserts itself between the CoreCompile and CopyFilesToOutputDirectory steps in the MSBuild process, making a backup copy of the documentation file output from the compiler and then processing it to replace inheritdoc tags. The output of InheritDoc is then used for the remainder of your build process. The XML documentation in your output (bin) folder will be the processed version. If you have further steps, such as building a NuGet package, the updated XML file will used in place of the original, meaning inheritdoc Just Works™.

This enhances the new support for inheritdoc in Roslyn (available starting in the VS 16.4 preview builds), making it available to all downstream consumers of your documentation. When using tools such as DocFX, you will no longer be subject to limitations around inheritdoc tag usage because the documentation will already have those tags replaced with the upstream docs.

There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

  • .NETFramework 4.6

    • No dependencies.
  • .NETStandard 2.0

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on SauceControl.InheritDoc:

Package Downloads
PixelatedLabs.Standard

Common static analysis configuration for .NET projects.

GitHub repositories (10)

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

Repository Stars
Azure/azure-sdk-for-net
This repository is for active development of the Azure SDK for .NET. For consumers of the SDK we recommend visiting our public developer docs at https://learn.microsoft.com/dotnet/azure/ or our versioned developer docs at https://azure.github.io/azure-sdk-for-net.
nodatime/nodatime
A better date and time API for .NET
json-api-dotnet/JsonApiDotNetCore
A framework for building JSON:API compliant REST APIs using ASP.NET and Entity Framework Core.
saucecontrol/PhotoSauce
MagicScaler high-performance, high-quality image processing pipeline for .NET
atata-framework/atata
C#/.NET test automation framework for web
chickensoft-games/LogicBlocks
Human-friendly, hierarchical and serializable state machines for games and apps in C#.
Liu233w/acm-statistics
An online tool (crawler) to analyze users performance in online judges (coding competition websites). Supported OJ: POJ, HDU, HYSBZ, CodeForces, UVA, ICPC Live Archive, FZU, SPOJ, Timus (URAL), LeetCode_CN, CSU, LibreOJ, 洛谷, 牛客OJ, Lutece (UESTC), AtCoder, AIZU, CodeChef, El Judge, BNUOJ, Codewars, UOJ, NBUT, 51Nod, DMOJ, VJudge
qdrant/qdrant-dotnet
Qdrant .Net SDK
chickensoft-games/GoDotTest
C# test runner for Godot. Run tests from the command line, collect code coverage, and debug tests.
saucecontrol/Blake2Fast
Optimized BLAKE2 hashing implementations in C#
Version Downloads Last updated
2.0.2 91,915 10/12/2024
2.0.1 148,411 2/8/2024
2.0.0 19,170 12/19/2023
1.4.0 22,720 11/26/2023
1.3.0 404,893 5/7/2021
1.2.0 1,371,319 12/9/2020
1.1.1 7,110 11/14/2020
1.0.0 50,300 2/16/2020
0.4.0 4,553 10/24/2019
0.3.0 916 10/4/2019
0.2.0 583 9/30/2019
0.1.0 1,157 9/27/2019

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