not auto-generating explicit implementations of interfaces

Topics: User Forum
Feb 14, 2007 at 7:44 PM
I am using v1.3.3.1 of SHFB. I have some classes that explicitly implement portions of interfaces, and SHFB generates the following:

Missing <summary> documentation for P:_Namespace.Class_`1._NameSpace

Even if I attempt to add documentation within the code, SHFB will not generate it. Is there a way for SHFB to auto-generate documentation based on the explicit declaration? Does anybody have any advice as to whether I'm doing something wrong, or if this is a bug.

I searched existing discussions for some keywords, and I didn't find anything that seemed to relate. I apologize if this has already been discussed.
Coordinator
Feb 14, 2007 at 8:13 PM
Can you send me an example class that I can test? My e-mail address is in the About box and in the footer of each page in the help file.

Eric
Feb 20, 2007 at 6:43 PM
Did you receive my email with the example vs2005 solution that reproduces this problem?
Coordinator
Feb 20, 2007 at 9:28 PM
Sorry, no I didn't receive it. Please resend it and I'll take a look at it. Thanks.

Eric
Oct 3, 2007 at 1:46 PM
Has there been a fix to this issue in the meantime? I am using v1.5.0.1 of SHFB, and I observe the same behaviour. The XML documentation of the source code is not showing up in the help file, in all methods implementing a specific interface. In the interface declaration itself (being in the same source file), all is working fine. Any help is appreciated.

Clem
Coordinator
Oct 3, 2007 at 4:00 PM
Is this a C++ project? If so, set the CppCommentsFixup property to true to see if that fixes it. If not, send me an example that demonstrates the problem and I'll look into it.

Eric
Oct 4, 2007 at 9:04 AM
It is a VB.NET Project (Framework V2). However, I will try to write a small test project, and send it to you (hope I can do it tonight..)
Eric, thanks for your fast reply. You wrote a valuable piece of software!

Clem
Coordinator
Oct 8, 2007 at 6:58 AM
Unfortunately, this appears to be another VB.NET compiler issue. For the explicit interface implementations it is not generating the correct signature in the XML comments file. In the XML comments file, they are generated as:

M:testlib.testClass.testFunc(System.Int32,System.String)
M:testlib.testClass.testSub
P:testlib.testClass.testProp(System.Int32)

In the reflection file generated by MRefBuilder, they are generated as:

M:testlib.testClass.testlib#ITest#testFunc(System.Int32,System.String)
M:testlib.testClass.testlib#ITest#testSub
P:testlib.testClass.testProp(System.Int32)

This is as it should be as the name of the explicit implementation should appear in the member name. If converted to C#, the signatures between the XML comments file and the reflection file match. A similar issue occurs with cref attributes generated by the VB.NET compiler where it doesn’t fully qualify them. I think the only workaround in this case is to manually edit the comments files so that the signatures match.

Eric
Oct 8, 2007 at 9:10 PM
Thanks for your investigations, Eric. I will test the issue under a VS2005 version WITHOUT the SP1 installed. This Visual Studio version shows, as posted in a sandcastle forum and coinciding with my experience, the correct behaviour in the mentioned "cref" issue. I doubt if manually editing the xml files will become very popular...

Clem