How to link Enterprise Library into my help

Jul 8, 2009 at 11:41 PM

I'm creating a WCF interface and documenting the Faults it throws.  One of those faults I want to throw is the Microsoft.Practices.EnterpriseLibrary.Validation.Integration.WCF.ValidationFault.

/// <see cref="ValidationFault"/>

How the heck can I get SandCastle to build and link to the online help???

Visual Studio brings up: ms-help://MS.VSCC.v90/MS.VSIPCC.v90/ms.practices.entlib.2008oct/entlib_v4p1_20081022_apiRef/Html2/ec745320-382e-b7fa-4b50-91ebee0af3c1.htm

 

The only way I've been able to get a link to show up in SandCastle was to add the Enterprise Lib dll and xml to the project, but then it generates documentation in my help file for that namespace.  If you exclude the namespace it wont create a link.  I tried using the Additional Reference Links plug-in with a second project that includes the Enterprise Lib, but again no links to online resources could be made.  If I did "Index" it would create a link to nowhere.

I want a link to show up in my help that points to the online documentation, can this be done?  If so, how? 

 

 

 

Coordinator
Jul 9, 2009 at 2:18 AM
Edited Jul 9, 2009 at 2:20 AM

Using the Additional Reference Links plug-in, you should be able to create a project that it uses to create links to the online content.  Set the link type to MSDN in the plug-in.  See the plug-in help topic for details.  If that doesn't work, then the MSDN web service used to generate the links probably doesn't know about the Enterprise Library.

Eric

 

Jul 9, 2009 at 6:14 PM
Edited Jul 9, 2009 at 7:23 PM

OK So I create another project for the VAB stuff, add the physical  DLL and XML files as "Documentation Sources" right?

C:\Program Files\Microsoft Enterprise Library 4.1 - October 2008\Bin\Microsoft.Practices.EnterpriseLibrary.Validation.Integration.WCF.dll & Microsoft.Practices.EnterpriseLibrary.Validation.Integration.WCF.xml

Then magically if I refer to this project (Additional Reference Links plug-in in my main project) and set MSDN as the link type, it's suppose to find and create online links?

 

 

Coordinator
Jul 9, 2009 at 7:20 PM
Edited Jul 9, 2009 at 7:23 PM

As noted, it will provided the MSDN web service can provide online links to the API members.  You also need to set the link type to MSDN in the plug-in configuration for the library too.  If you still see a bunch of "unresolved link reference" messages for the members in the library after doing that, then it doesn't know about it and you won't get links to them.

Eric

Jul 9, 2009 at 7:36 PM
Edited Jul 15, 2009 at 12:29 AM

Can you explain what you mean by "set the link type to MSDN in the plug-in configuration for the library too", is this different than using the Additional Reference Links plug-in in my main project and referring to the new project (VAB dummy project) and setting the link type to MSDN?

 

I get the following warning when building my main project:

 

  Warn: ResolveReferenceLinksComponent2: MSDN URL not found for target 'T:Microsoft.Practices.EnterpriseLibrary.Validation.Integration.WCF.ValidationFault'.

 

 Warn: ResolveReferenceLinksComponent2: MSDN URL not found for target 'T:Microsoft.Practices.EnterpriseLibrary.Validation.Integration.WCF.ValidationFault'.

 

 

If this can't be fixed in the application settings, what is the fix?  Does MSDN need to do something, does the application need to be updated, i.e. what's the next step in getting this resolved, I'm assuming people doing a WCF interface and using the Enterprise Library for data validation will want working documentation at some point.

Coordinator
Jul 10, 2009 at 2:14 AM

Add the plug-in to your main project.  Open the configuration for it and add the project for the enterprise library and set it's link type to MSDN.  Click OK to save the configuration settings and then build the project.  If the ResolveReferenceLinks component still complains about missing link targets, which looks like the case, the MSDN web service doesn't know about them.  At this point, all you can do is complain to Microsoft.

Eric