This plug-in is used to automatically generate an API filter based on the XML comments member IDs to limit the help file content to only the documented entities. This is useful if you have a frequently changing API and managing the API filter is cumbersome.
This plug-in is unique in that it runs both before and after the GenerateReflectionInfo build step. This is necessary as it must remove any project-based API filter and generate a full set of API information in order to compare it to the XML comments member IDs. Once it has done that, it can generate an API filter and apply it by building the reflection information again.
Note that it is still constrained by the rules of the API filter. Specifically, if you exclude one member of an overloaded method set, all of them will be excluded. There is no getting around that rule. In addition, since inherited documentation is generated after reflection data is generated, undocumented members of explicitly implemented interfaces will not be included. If you want them included, you must explicitly add an inheritdoc tag on those members.
If a type has no XML comments, it will be included if any of its members have XML comments. Likewise, a namespace without XML comments will be included if any documented types that it contains are included.
To explicitly exclude a documented member, add the exclude XML comment tag to its comments. If placed on a type, it will exclude the entire type regardless of whether or not it has documented members. If placed on a NamespaceDoc class, it will exclude all types within the namespace regardless of whether or not they are documented. Note that namespace exclusions defined in the project namespace summaries will have no effect. You must either add a NamespaceDoc class for the excluded namespace or exclude all of its types. This typically affects any types that appear in the global namespace which are usually automatically excluded by the namespace summaries settings.