5

I have a proprietary .NET DLL without source code that I need to use. How can I generate documentation about the classes exposed by the DLL?

I would be looking for something like javadoc for java.

CJ7
  • 22,579
  • 65
  • 193
  • 321
  • Sandcastle is good, I have used that in the past. http://stackoverflow.com/questions/319632/docproject-vs-sandcastle-help-file-builder-gui – hutchonoid Jan 22 '13 at 13:46

2 Answers2

4

Note on the Sandcastle home page on CodePlex:

The Sandcastle CodePlex project is no longer under active development by Microsoft and as such, there will be no future releases to this site.

The existing Sandcastle source code has been forked over to Eric Woodruff’s Sandcastle Help File Builder site at http://shfb.codeplex.com/(Moved to -->GitHub). This new location is where you should go from this point forward to download the latest version. Eric will be in charge of new releases of Sandcastle from here on out.

More of a comment to @ORMapper's answer, but I'm not able to comment (shy of the required 50 rep).

ΦXocę 웃 Пepeúpa ツ
  • 47,427
  • 17
  • 69
  • 97
JohnC
  • 1,797
  • 1
  • 18
  • 26
2

Use Microsoft Sandcastle, possibly along with Sandcastle Help File Builder. It will generate documentation HTML files or Windows help files.

If the DLL is accompanied by an Xml file of the same name, that file might even contain some textual documentation of the DLL. Otherwise, Sandcastle can still be helpful because it will generate an overview over the classes and their members where you can navigate from type to type by clicking links.

ΦXocę 웃 Пepeúpa ツ
  • 47,427
  • 17
  • 69
  • 97
O. R. Mapper
  • 20,083
  • 9
  • 69
  • 114
  • How does it compare to `Doxygen`? – CJ7 Jan 22 '13 at 13:51
  • 1
    @CJ7: I haven't used Doxygen for C# yet, so I cannot provide a comprehensive comparison. What I can tell you is that Sandcastle supports only .NET/Mono assemblies and it doesn't generate class diagrams like Doxygen. I'm not sure whether Doxygen works with assemblies or just with source files (as Doxygen usually extracts doc comments itself from the source code - I don't know whether it can also work with binary files and compiler-extracted Xml doc files). If there are any Xml doc comments, they are likely to be written for Sandcastle, as it is the de-facto standard for C# doc comments. – O. R. Mapper Jan 22 '13 at 14:25
  • SHFB is garbage. It requires you to reference dll's that may not even exist on your system like "Microsoft.Scripting.dll v1.1.0.20" --- After hours of searching, I can find AMAZING documentation generator tools for ActiveX/COM, but nothing for lame .NET assemblies, even though you can REFLECT the damn things. They all depend on you building the docs already in XML .... so why the tools then ??? ugh. – Kraang Prime Mar 12 '15 at 06:44
  • 1
    @SanuelJackson: I can't say anything about the missing DLL, however I'm not sure what you mean by "even though you can REFLECT the damn things. They all depend on you building the docs already in XML". Reflection will only give you the public interface of the classes and methods, obviously, it cannot provide any descriptions of the interface members. That's what the XML files are there for, they contain the descriptions that were extracted from the doc comments (`///`) in the source code by the compiler. – O. R. Mapper Mar 12 '15 at 06:57
  • In previous libraries ActiveX/COM which were not easily exposed through reflection, and bluntly, weren't as easily reversed, had it much easier and faster to build documentation. By "even though you can REFLECT", means just that, we now have the ability to glean insight into the methods / types / etc. Please take a look at some of the tools of days past, and for .NET, a taste > "ForgeDoc v1.6" <. The problem with FD is it dies on first reflect failure -- rest is perfect BINARY ONLY to documentation. – Kraang Prime Mar 12 '15 at 18:32