Method name left out of documentation
Status: Beta
Brought to you by:
nmbt0
Did I miss setting a flag or something?
When I run NDoc with the 2005 version, it no longer
puts the method name in the documentation.
I get public int (int a, int b) instead of
public int add_Two_Numbers (int a, int b).
Same code worked under older NDoc version with VS 2003
but with VS 2005 and this "temporary" version the
documentation is incomplete.
Also, won't save settings. Each time I enter NDoc I
have to reset everything.
Logged In: YES
user_id=1035473
Does this happen in all the Documenters or are you refering
to one specific documenter ie(JavaDoc, MSDN, MSDN2)?
Can you do a project Save and or a project Open or are you
refering to the fact that it doesn't default for you back
to the settings you had during the previous session?
I just uploaded a newer Beta version. Give this a shot
nothing has been changed to address these specific issues
but I'd like to make sure we are running on the same
version to debug it.
Side note this was glorified Hack at best to start with.
It's getting a little more stable now thanks for the input.
Logged In: YES
user_id=1483203
Thanks for your reply. The documenter is MSDN. I haven't
tried the others. I could save a session as long as I
stayed in NDoc. As soon as I left NDoc and reloaded it,
all settings were lost.
I tried the new version (04-19-06) and I get the following
error:
Error compiling the namespace stylesheet
Exception: NDoc.Core.DocumenterException
Error compiling the namespace stylesheet
Exception: System.Exception
Error compiling the namespace stylesheet
Exception: System.IO.DirectoryNotFoundException
Could not find a part of the
path 'D:\USERS\Documenter\Msdn\xslt\namespace.xslt'.
Exception: NDoc.Core.DocumenterException
at NDoc.Documenter.Msdn.MsdnDocumenter.Build(Project
_project) in C:\Documents and
Settings\Administrator\Desktop\NDoc2005
\src\Documenter\Msdn\MsdnDocumenter.cs:line 565
at NDoc.Gui.BuildWorker.ThreadProc() in C:\Documents and
Settings\Administrator\Desktop\NDoc2005
\src\Gui\BuildWorker.cs:line 88
Exception: System.Exception
at
NDoc.Documenter.Msdn.StyleSheetCollection.MakeTransform
(String name, XsltResourceResolver resolver) in
C:\Documents and Settings\Administrator\Desktop\NDoc2005
\src\Documenter\Msdn\StyleSheetCollection.cs:line 115
at NDoc.Documenter.Msdn.StyleSheetCollection.AddFrom
(String name, XsltResourceResolver resolver) in
C:\Documents and Settings\Administrator\Desktop\NDoc2005
\src\Documenter\Msdn\StyleSheetCollection.cs:line 96
at
NDoc.Documenter.Msdn.StyleSheetCollection.LoadStyleSheets
(String extensibilityStylesheet) in C:\Documents and
Settings\Administrator\Desktop\NDoc2005
\src\Documenter\Msdn\StyleSheetCollection.cs:line 58
at NDoc.Documenter.Msdn.MsdnDocumenter.Build(Project
_project) in C:\Documents and
Settings\Administrator\Desktop\NDoc2005
\src\Documenter\Msdn\MsdnDocumenter.cs:line 400
Exception: System.IO.DirectoryNotFoundException
at System.IO.__Error.WinIOError(Int32 errorCode, String
maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode,
FileAccess access, Int32 rights, Boolean useRights,
FileShare share, Int32 bufferSize, FileOptions options,
SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean
bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode
mode, FileAccess access, FileShare share, Int32 bufferSize)
at System.Xml.XmlDownloadManager.GetStream(Uri uri,
ICredentials credentials)
at System.Xml.XmlUrlResolver.GetEntity(Uri absoluteUri,
String role, Type ofObjectToReturn)
at NDoc.Core.XsltResourceResolver.GetEntity(Uri
absoluteUri, String role, Type ofObjectToReturn) in
C:\Documents and Settings\Administrator\Desktop\NDoc2005
\src\Core\XsltResourceResolver.cs:line 138
at
NDoc.Documenter.Msdn.StyleSheetCollection.MakeTransform
(String name, XsltResourceResolver resolver) in
C:\Documents and Settings\Administrator\Desktop\NDoc2005
\src\Documenter\Msdn\StyleSheetCollection.cs:line 105
Thanks for your efforts on this great product!
Logged In: YES
user_id=1518610
Does this happen in all the Documenters or are you refering
to one specific documenter ie(JavaDoc, MSDN, MSDN2)?
I tried and it happen in all documenters except XML. When i
download source code, compiled and executed them, all goes
ok. Probabely it is some hard coded as someone posted here:
https://sourceforge.net/tracker/index.php?func=detail&aid=1479548&group_id=163095&atid=826379
Logged In: YES
user_id=644095
I've done a little deeper analysis of the missing method
names problem. I guess, there is a XML attribute mismatch
between the generated intermediate XML source (which can
be created with the XML documenter) and the XSLT
stylesheets:
The xslt stylesheets always use the
attribute "@displayName" to insert the name of the
methods. However, the XML intermediate file does not
contain an XML attribute "displayName" for method entries;
instead they have only an attribute "name". Example,
copied from the doc.xml:
<method name="dispose"
id="M:com.wn.rdbd.dmi.CIMAdapter.dispose" access="Public"
contract="Final" returnType="System.Void"
displayReturnType="Void" valueType="true">
<documentation>
<summary>
Implements
<see cref="M:com.wn.rdbd.dmi.ICIMAdapter.dispose" />
.
</summary>
</documentation>
</method>
There is also a mismatch in the attributes for the
paramter XML entries:
<parameter name="instanceName" type="System.String"
displayName="String" valueType="false" />
I guess, the "displayName" attribute should contain the
string "instanceName" as well as the "name" attribute.
This issue lets the paramter names be invisible in the
parameter section of documents created by the MSDN
documenter.
What's the difference between the content of a name
attribute and a display attribute from the designing point
of view?
There is also a problem with interfaces a class
implements. They are not visible in the class syntax
section.
Regards, Denis
Logged In: YES
user_id=644095
I've done a little deeper analysis of the missing method
names problem. I guess, there is a XML attribute mismatch
between the generated intermediate XML source (which can
be created with the XML documenter) and the XSLT
stylesheets:
The xslt stylesheets always use the
attribute "@displayName" to insert the name of the
methods. However, the XML intermediate file does not
contain an XML attribute "displayName" for method entries;
instead they have only an attribute "name". Example,
copied from the doc.xml:
<method name="dispose"
id="M:com.wn.rdbd.dmi.CIMAdapter.dispose" access="Public"
contract="Final" returnType="System.Void"
displayReturnType="Void" valueType="true">
<documentation>
<summary>
Implements
<see cref="M:com.wn.rdbd.dmi.ICIMAdapter.dispose" />
.
</summary>
</documentation>
</method>
There is also a mismatch in the attributes for the
paramter XML entries:
<parameter name="instanceName" type="System.String"
displayName="String" valueType="false" />
I guess, the "displayName" attribute should contain the
string "instanceName" as well as the "name" attribute.
This issue lets the paramter names be invisible in the
parameter section of documents created by the MSDN
documenter.
What's the difference between the content of a name
attribute and a display attribute from the designing point
of view?
There is also a problem with interfaces a class
implements. They are not visible in the class syntax
section.
Regards, Denis
Logged In: YES
user_id=644095
I have added a patch for the MSDN documenter (see
https://sourceforge.net/tracker/index.php?
func=detail&aid=1548580&group_id=163095&atid=826381 ) to
solve this problem.
But it's more a hack than a proper fix.
Logged In: YES
user_id=1483203
Thanks for working on this. The link in your message does
not work. For that matter, updating this page doesn't seem
to work either but I'll keep trying.