views:

1185

answers:

3

I have an assembly containing very thorough XML-based documentation, which is used through Sandcastle to generate the help-files for the product. We also use the output XML files for providing proper Intellisense in Visual Studio when programmers use the assembly obviously.

In order to do this, it seems we have do both supply the user with the assembly ("assembly.dll") and the documentation ("assembly.xml").

Is it somehow possible to embed the documentation within the assembly, so we'd only have to supply the single assembly-file and Visual Studio would be able to extract the information? Maybe embedded as a resource or something like that?

+3  A: 

Unfortunately you will need to supply both as Visual Studio only knows to look at XML documents for Intellisense.

Jason Whitehorn
A: 

Am i missing something? I always comment as usual (using 3 slashes or 3 tick marks (vb)), use the built in xml tags and when i use the assembly i get the intellisense - i rarely use an extrernal xml file.

schmoopy
Do you get Intellisense as in code-completion, or do you actually get the documentation that you've written? I.e. VS can auto-generate the method-listings and their parameters and such obviously, but unless I make sure the documentation is available on the host-machine as well, I don't get the docs.
ulrikj
+1  A: 

If you search C:\Windows\Microsoft.NET\Framework\v2.0.50727 you will find that all of the .net assemblies you may be referencing in your applications are using the xml files. Visual studio will only provide intellisense for assemblies if the xml file exists. For example, if you were to close Visual Studio, then remove the System.Drawing.xml file and then reopen VS, there should not be any intellisense for that assembly. You would then need to close VS, copy it back, and then reopen VS for the intellisense to work again.