This project has moved. For the latest updates, please go here.

Excluding assemblies/projects/namespaces

Topics: User Forum
Oct 21, 2009 at 10:30 AM

I'm setting up an shfb project but I am having some problems setting it up in a generic fashion. I want to create documentation for my projects/dlls/namespaces. but not my test projects/dlls/namespaces.

Ideally I would like to exclude the test projects/dlls from the documentation sources, but the wildcard capability only allows for inclusion and not exclusion. I would therefore need to explicitly list each required documentation source (so as to exclude the undesired ones), which which would require the shfb project file to be modified each time a new test project/dll is created.

Alternatively, I would be content with excluding the namespaces using the ApiFilter. However, the filter does not seem to permit wildcards and so the namespaces have to be explicitly listed, which would require the shfb project file to be modified each time a new test namespace is created.

Is there a generic solution to this problem that does not require frequent modification of the shfb project file?

P.S. My goal is to generate the documentation as part of a (TFS) daily build, so please let me know of any MSBuild-based solutions to this problem.

Oct 21, 2009 at 3:13 PM

Add an <exclude /> tag to the test assembly classes.  If they are all in a common namespace, exclude the entire namespace either via the APIFilter or NamespaceSummaries project property or using an <exclude /> tag on a NamespaceDoc class within the namespace.  That will filter them out automatically.



Mar 22, 2010 at 2:50 PM

How to implement "<exclude /> tag on a NamespaceDoc class"

Can you give a link to test.shfbproj where this is implemented.

I notice "Content Layout" in "Add »New Item" how it works?

I want to include only one class to documentation and exclude everything else.\


Please help.....

Mar 22, 2010 at 7:16 PM

The <exclude /> tags are added to the XML comments in your source code to the item you want to remove (a namespace, type, property, method, etc).  Assuming you are using a NamespaceDoc class to add namespace comments, the <exclude /> tag would go in it to remove the entire namespace.  A better approach would be to use the project's ApiFilter property which lets you exclude entire namespaces and or types without modifying your source code.

A content layout file is used to add and arrange additional topics in the help file's TOC such as general information, walkthroughs, etc.  See the Conceptual Content section of the help file for more information.