Issue with generating class reference in VS2012 help viewer

Topics: Developer Forum, User Forum
Sep 1, 2012 at 7:17 PM

Hi,

I have installed latest sandcastle help file builder tool.I have generated class reference with system assemblies using MS help viewer target file. but the navigation link is not working in VS2012 RTM.

Please find the error details from the link below.
 http://www65.zippyshare.com/v/73547356/file.html
Navigation link in  generated content shows the attached error message

I have configured the class reference(mshc) files into the MShelp viewer(2.0) in which VS2012 alone installed.

I have attached the sample class reference contents in the below link.

http://www28.zippyshare.com/v/9481208/file.html

1) Run the 'Install documentation' bat file to configure the .mshc files into the MS Help viewer.

Since this is the high priority issue for us. Could you please help me on this?

Thanks,

siva

Coordinator
Sep 8, 2012 at 9:52 PM

The links are getting transformed incorrectly by the help viewer.  Sandcastle generates them as "ms-xhelp://?Id=XXX" and the help viewer is transforming them into "ms-xhelp:///ethod=page&Id=XXX".  The missing "m" in "method" is what is causing the issue.  This would appear to be a bug in the help viewer itself.  However, I did find that adding an extra slash to the links generated by Sandcastle does appear to work around the issue.

If you need the fix immediately, you will need to download the Sandcastle v2.7.0.0 source code from the Sandcastle Styles project on CodePlex.  Edit the ResolveConceptualLinksComponent.cs and ResolveReferenceLinksComponent2.cs files in the Build Assembler project by adding an extra slash to the occurrences of "ms-xhelp://" in those two files.  Rebuild the tools and then your help file and they should work as expected.  I do notice that the filters at the top of the page are also broken but I haven't got a fix for that.  The pages are useable without them though.

Eric

 

Sep 20, 2012 at 8:01 AM

 

Hi Eric,
Thanks for the update.
Provided workaround have fixed the navigation link issue with the contents.
But it has not been applied for the 'Send Feedback' link exist in the Class reference contents.
when i click the 'Send feedback' link, it shows "Cannot find requested topic on your computer" error.
For more details, please download the attachment from the link mentioned below
http://www15.zippyshare.com/v/519532/file.html
Regards,Siva

Coordinator
Sep 24, 2012 at 2:09 AM
Edited Sep 24, 2012 at 2:09 AM

It appears to be related to the first issue.  Help Viewer 2.0 is overwriting the "javascript" part of the URL with the "ms-xhelp:///" protocol incorrectly.  I was able to work around the issue by modifing the VS 2005 resource files.  Edit Presentation\VS2005\Content\shared_content.xml and Presentation\VS2005\Content\shared_content_mshc.xml and make the same change in both files by replacing three items with the ones below:

<item id="footer">
  <span id="feedbackarea">
    Send
    <a href="#">
        <includeAttribute name="onclick" item="MailToLink">
        <parameter>{2}</parameter>
        <parameter>{3}</parameter>
      </includeAttribute>
      feedback
    </a>
    on this topic to Microsoft.
  </span>
</item>

<item id="feedbackHeader">
  <span id="headfeedbackarea" class="feedbackhead">
      <a href="#">
        <includeAttribute name="onclick" item="MailToLink">
          <parameter>{0}</parameter>
          <parameter>{1}</parameter>
          </includeAttribute>
        <include item="fb_headerFeedBack" />
      </a>
  </span>
</item>

<item id="MailToLink">javascript:SubmitFeedback('<include item="fb_alias" />','<include item="fb_product" />','<include item="fb_deliverable" />','{0}','{1}','<include item="fb_body" />','<include item="fb_subject" />'); return false;</item>

Eric