This project has moved and is read-only. For the latest updates, please go here.

Link problems with VS2010 Style

Topics: Developer Forum, User Forum
Dec 18, 2012 at 6:27 PM

Before I jump in, thanks for the continued effort and support on Sandcastle and SFHB.

I've encountered a couple more issues trying to use the VS2010 Style -- separate issues for Help2 and MSHV builds.

For Help2 builds, no links are created in any of the generated output.  Checking source, all links are in the form: 

<mshelp:link keywords="M:Atalasoft.Annotate.Silverlight.AnnotationUI.InvalidateTransform" tabindex="0">InvalidateTransform</mshelp:link>

So I assume that some necessary transform to convert them into links is not happening.

For MSHV builds, it's failing to resolve and link some assembly members inherited from parent types in the .NET (or in this case, Silverlight) framework.  I get lots of warnings in my log like this:

Warn: ResolveReferenceLinksComponent2: [AllMembers.T:Atalasoft.Annotate.Silverlight.TextAnnotation] Unknown reference link target 'P:System.Windows.Controls.Control.IsEnabled'.

Some or most of the framework members are resolved correctly though, and I didn't see any defining pattern.  I might even be okay with these members not generating valid links, but when the VS2010 Style doesn't generate a link it instead makes it bold and attention-grabbing (Example:

Dec 18, 2012 at 8:55 PM
Edited Dec 18, 2012 at 8:55 PM

Help 2 links are in the form <mshelp:link keywords="ID" />.  As such, the Help 2 viewer should be displaying them as links.  The VS 2010 style was not really designed for Help 2 so it may have issues.  As I recall, the links were working when I last tried it out so I'll have to check again.

Regarding the second issues, it's a known problem whatever output format you choose.  The reflection data used for the base framework classes is generated off of the .NET Framework and the MSDN resolver doesn't specify a framework type when it looks up IDs.  As such, members specific to Silverlight will not get resolved.  It's an issue I'm planning on looking into when I start working on updates to the build components to see if there's a better way of handling members specific to the various framework types.



Dec 18, 2012 at 9:07 PM

The main reason I'm interested in VS2010 on Help2 is I want to use VS2010 on MSHV but I don't want to maintain a separate build project for the two outputs.  If a given presentation is really optimized for one viewing technology, it might be nice to be able to specify presentation on a per-output basis instead of per-project.  I don't know enough about the underlying architecture to know how practical that would be.

Dec 19, 2012 at 3:09 AM

The document model (for the TOC and topic generation) and BuildAssembler configurations can vary by presentation style so it's not really feasible to specify a style per build format.  I didn't say the style wouldn't work with Help 2, just that it hadn't been designed for it so expect issues.  Such issues can probably be fixed, it's just a matter of finding them much like getting the VS2005 style to work in Help Viewer.



Jan 23, 2013 at 3:42 AM

I figured out the necessary changes to make the VS2010 style work in Help 2.  See this thread: