views:

153

answers:

1

I use ILMerge to merge several of my C# project DLLs into a single DLL for the whole solution. I have each project produce a .XML file of its documentation for Intellisense, and I'm having trouble getting those comments to show up when I try to use my merged DLL as a reference in another solution. I have these files all in the same directory:

  • MergedProjectDlls.dll
  • Project1.XML
  • Project2.XML
  • Project3.XML
  • Project4.XML

I tried renaming a single project XML file to be MergedProjectDlls.XML then removing and re-adding the reference in Visual Studio, but Intellisense still wasn't picking up on the comments that I know are there in the project XML file I renamed.

I was hoping to somehow merge all these project XML files into one titled MergedProjectDlls.XML anyway. Is that possible? Would Intellisense then pick up on it automatically when it's in the same directory as MergedProjectDlls.dll?

Edit: just found this on MSDN:

To use the generated .xml file for use with the IntelliSense feature, let the file name of the .xml file be the same as the assembly you want to support and then make sure the .xml file is in the same directory as the assembly. Thus, when the assembly is referenced in the Visual Studio project, the .xml file is found as well.

And also:

Unless you compile with /target:module, file will contain tags specifying the name of the file containing the assembly manifest for the output file of the compilation."

A: 

Der, it turns out that's just a command-line option to ILMerge:

ILMerge.exe /out:MergedProjectDlls.dll Project1.dll Project2.dll Project3.dll Project4.dll /ndebug /xmldocs

Sarah Vessels