This project is read-only.

Nested Class Constructor Does Not Show Up


We have a nested class with a public constructor. It is marked as deprecated, but is still public and preset. NDoc generated the documentation for it, but Sandcastle apparently does not.

file attachments


EWoodruff wrote Apr 27, 2012 at 8:32 PM

Please attach an example that fails. I have test cases with nested classes with public constructors that are working as expected. Marking it obsolete should have no effect other than adding an "Obsolete" note to the topic for it.

wrote Apr 30, 2012 at 6:56 PM

rpkrajewski wrote Apr 30, 2012 at 6:56 PM

Here you go. Note that the sbclient.xml has been processed to remove some members that refer to internal times, but it is still legal XML doc – VS 2010 Intellisense picks up the constructors from there.

wrote Apr 30, 2012 at 6:59 PM

rpkrajewski wrote Apr 30, 2012 at 6:59 PM

Screenshot showing Schema ctor tip in VS2010 – this is also not showing up in the output.

EWoodruff wrote Aug 7, 2012 at 8:31 PM

The problem here is that you are using <exclude /> XML comment tags which are converted by SHFB to API Filter entries. Since MRefBuilder's API filter will rip all members with the given name and does not distinguish by parameter list, if one overload is removed, they all are. Since you don't appear to be documenting internals, remove the <exclude /> tag from the internal constructor and the public one will show up. It would probably be best to remove all <exclude /> tags and use the API filter property within the project to remove any unwanted members so that it's more obvious what is being removed.

EWoodruff wrote Aug 7, 2012 at 8:33 PM

With regard to processing the XML comments file to remove unwanted members, SHFB provides an IntelliSense build component that you can add to the project which will produce a filtered XML comments file containing only the documented members.

rpkrajewski wrote Aug 7, 2012 at 9:02 PM


wrote Feb 22, 2013 at 1:39 AM