You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: readme.md
+12-3Lines changed: 12 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -3,14 +3,14 @@
3
3
InheritDoc
4
4
==========
5
5
6
-
This [MSBuild Task](https://docs.microsoft.com/en-us/visualstudio/msbuild/msbuild-tasks) 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 accurately resolve base types whether they come from the target framework, referenced NuGet packages, or project references. This allows intelligent mapping of 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.
6
+
This [MSBuild Task](https://docs.microsoft.com/en-us/visualstudio/msbuild/msbuild-tasks) automatically replaces `<inheritdoc />` tags in your .NET XML documentation with the actual inherited docs.
7
7
8
8
How to Use It
9
9
-------------
10
10
11
11
1) Add some `<inheritdoc />` tags to your XML documentation comments.
12
12
13
-
This tool’s handling of `<inheritdoc />` tags is based on the draft [design document](https://github.com/dotnet/csharplang/blob/812e220fe2b964d17f353cb684aa341418618b6e/proposals/inheritdoc.md) used for Roslyn's support in Visual Studio, which is in turn based on the `<inheritdoc />` support in [Sandcastle Help File Builder](https://ewsoftware.github.io/XMLCommentsGuide/html/86453FFB-B978-4A2A-9EB5-70E118CA8073.htm#TopLevelRules) (SHFB).
13
+
This tool’s handling of `<inheritdoc />` tags is based on the [design document](https://github.com/dotnet/csharplang/blob/812e220fe2b964d17f353cb684aa341418618b6e/proposals/inheritdoc.md) used for Roslyn's support in Visual Studio, which is in turn based on the `<inheritdoc />` support in [Sandcastle Help File Builder](https://ewsoftware.github.io/XMLCommentsGuide/html/86453FFB-B978-4A2A-9EB5-70E118CA8073.htm#TopLevelRules) (SHFB).
14
14
15
15
2) Add the [SauceControl.InheritDoc](https://www.nuget.org/packages/SauceControl.InheritDoc) NuGet package reference to your project.
16
16
@@ -20,6 +20,15 @@ How to Use It
20
20
21
21
The XML docs will be post-processed automatically with each non-debug build, whether you use Visual Studio, dotnet CLI, or anything else that hosts the MSBuild engine.
22
22
23
+
Additional Features
24
+
-------------------
25
+
26
+
* Updates the contents of inherited docs to replace `param` and `typeparam` names that changed in the inheriting type or member.
27
+
28
+
* Supports trimming your published XML doc files of any types or members not publicly visible in your API.
29
+
30
+
* Validates your usage of `<inheritdoc />` and warns you if no documentation exists or if your `cref`s or `path`s are incorrect.
31
+
23
32
How it Works
24
33
------------
25
34
@@ -309,4 +318,4 @@ When it runs, `InheritDocTask` will log a success message to the build output fo
309
318
InheritDocTask replaced 55 of 55 inheritdoc tags and removed 60 non-public member docs in /path/to/MyProject.xml
310
319
```
311
320
312
-
If you don't see the message(s), it didn't run for some reason. Check the detailed output from MSBuild (e.g. `dotnet build -v detailed`) and look for `InheritDoc` in the logs for clues. Issue reports are, of course, welcome with good repro steps.
321
+
If you don't see the message(s), it didn't run for some reason. Check the detailed output from MSBuild (e.g. `dotnet build -v detailed`) or use the [MSBuild Log Viewer](https://msbuildlog.com/)and look for `InheritDoc` in the logs for clues. Issue reports are, of course, welcome with good repro steps.
This [MSBuild Task](https://docs.microsoft.com/en-us/visualstudio/msbuild/msbuild-tasks) 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 accurately resolve base types whether they come from the target framework, referenced NuGet packages, or project references. This allows intelligent mapping of 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.
4
+
This [MSBuild Task](https://docs.microsoft.com/en-us/visualstudio/msbuild/msbuild-tasks) automatically replaces `<inheritdoc />` tags in your .NET XML documentation with the actual inherited docs.
5
5
6
6
How to Use It
7
7
-------------
8
8
9
9
1) Add some `<inheritdoc />` tags to your XML documentation comments.
10
10
11
-
This tool’s handling of `<inheritdoc />` tags is based on the draft [design document](https://github.com/dotnet/csharplang/blob/812e220fe2b964d17f353cb684aa341418618b6e/proposals/inheritdoc.md) used for Roslyn's support in Visual Studio, which is in turn based on the `<inheritdoc />` support in [Sandcastle Help File Builder](https://ewsoftware.github.io/XMLCommentsGuide/html/86453FFB-B978-4A2A-9EB5-70E118CA8073.htm#TopLevelRules) (SHFB).
11
+
This tool’s handling of `<inheritdoc />` tags is based on the [design document](https://github.com/dotnet/csharplang/blob/812e220fe2b964d17f353cb684aa341418618b6e/proposals/inheritdoc.md) used for Roslyn's support in Visual Studio, which is in turn based on the `<inheritdoc />` support in [Sandcastle Help File Builder](https://ewsoftware.github.io/XMLCommentsGuide/html/86453FFB-B978-4A2A-9EB5-70E118CA8073.htm#TopLevelRules) (SHFB).
12
12
13
13
2) Add the [SauceControl.InheritDoc](https://www.nuget.org/packages/SauceControl.InheritDoc) NuGet package reference to your project.
14
14
@@ -18,4 +18,13 @@ How to Use It
18
18
19
19
The XML docs will be post-processed automatically with each non-debug build, whether you use Visual Studio, dotnet CLI, or anything else that hosts the MSBuild engine.
20
20
21
+
Additional Features
22
+
-------------------
23
+
24
+
* Updates the contents of inherited docs to replace `param` and `typeparam` names that changed in the inheriting type or member.
25
+
26
+
* Supports trimming your published XML doc files of any types or members not publicly visible in your API.
27
+
28
+
* Validates your usage of `<inheritdoc />` and warns you if no documentation exists or if your `cref`s or `path`s are incorrect.
29
+
21
30
For more details and examples, see the [project home page](https://github.com/saucecontrol/InheritDoc)
0 commit comments