Enterprise Library links

Dec 23, 2008 at 4:23 PM
I'm new to Sandcastle. I really like the fact that it generates the links to the MSDN online when encountering a .Net framework type.
In my projects, I reference to Enterprise Library 4.0 a lot. I can't figure out a way to reference the help content in EL help files or a web site if there is one.
Right now, I have to generate one big help1x file which includes EL help topics.
Would please point me to a better solution?


Dec 23, 2008 at 7:51 PM
Hi Richard,

The target URLs for links to MSDN content are retrieved by an MSDN content web service.  If this service does not return links for Enterprise Library topics then you must explicitly set the links in your documentation using <see href="http://..." /> instead of <see cref="{code entity name}" />.

In order for Sandcastle to request a link from the web service, it needs to identify the entity being requested as being of the MSDN link type.  This information is provided by the Sandcastle configuration file in combination with the reflection files generated by MRefBuilder.exe (found in Sandcastle's ProductionTools folder).  You can run MRefBuilder on the EL assemblies to produce a reflection.org file.  Then run a doc model transformation (ApplyPrototypeDocModel.xsl or ApplyVSDocModel.xsl in the ProductionTransforms folder, depending upon your chosen presentation style) using the XslTransform.exe tool to generate a reflection.xml file.  Finally, rename the file appropriately and drop it in Sandcastle's Data\Reflection folder so that builds pick it up when resolving links using the MSDN content web service.

All of the <see cref="" /> will become links if the service provides information for them, otherwise they will just be bold text.

For help with the tools see the Examples folder.

- Dave