Domanda

I'm using VS-2010 Ultimate version 10.0.30319.1 RTMRel (from the about box).

I have written a class library with lots of nice XMLDOC (imho). For reasons I don't want to get into when I use this library in various solutions the project itself is not included (as in right-click solution, add existing project..); instead, we just add a reference to the DLL as if it was a third-party library.

In the solution that contains the library, intellisense works as normal and I get the full benefit of the XMLDOC. Unfortunately, that's not where I will be using it!

In other solutions, where the library is just a referenced DLL, I get intellisense, but no XMLDOC. While my library is mostly understandable enough to use without the support wheels I wonder why this is and whether there's anything I can do about it.

Very skippable paragraph: I hope the rather cynical suspicion that crossed my mind is as baseless as I think it is - namely, that M$ might have "locked" this functionality in some way in order to sell access to it to third-party library developers... I suppose one could do something like require the DLL to be signed by a particular key and offer some online for-pay service where people could sign their DLLs with this key to enable the functionality, but given how valuable it is to the platform to have thriving third-party developers of libraries and components it seems unlikely anyone should bother.

So, does anyone have any tips to share on how to get this working? I'd like the XMLDOC to show up in intellisense whenever I use the thing, regardless of how. :)

È stato utile?

Soluzione

The assembly does not contain the actual comment documentation. You need to generate an XML file that contains all your documentation.

Go into your projects Settings, on the Build tab Check "XML Documentation File":

enter image description here

Now when you compile your project, a nice XML file will be produced containing the documentation.

In your other project, you need to reference the DLL and make sure that the XML has the same name as your assembly with an XML extension instead of DLL, and is in the same directory as your referenced DLL. For example:

Assembly: MyProject.dll

XML: MyProject.xml

You can learn more about XML documentation at MSDN.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top