Share via


F1 for Silverlight in Visual Studio is still targeting the Beta1 content: Here's a workaround

Unfortunately, the web service that underlies the F1 behavior in Visual Studio is flawed. Specifically when you are trying to find a Silverlight API, the service is promoting the old, v3 beta1 content for Silverlight, and will show you that page (the v3 beta1 content still exists on MSDN as pages but it's mostly hidden, not in the TOC). Although the beta content is often adequate at a very basic level, you are missing out on documentation improvements made since then, such as possibly snippets, remarks, etc, and it's also annoying not having an anchor in the TOC.

The workaround in Visual Studio 2008 is as follows:

1) Use F1 as you normally would. You will often see that the inital page is the beta1 version. You can identify these by the presence of the string (vs.96) towards the end of the URL in the address bar.

2) Notice on the far left of the integrated Help window there is a little dropdown titled "F1 Options". Choose the next result down. This will generally be the true version 3 RTM topic you are looking for. You can confirm this because the end of the URL is now (vs.95) AND you should be able to see a Table of Contents that successfully synchs to your topic.

Here are some further notes.

Often there will be multiple results in the F1 Options dropdown, beyond just the correct version 3 page. This can happen if the string highlighted and transmitted for the F1 service query is potentially ambiguous. Because the majority of Silverlight API also exists as a .NET API, the lower results are generally .NET topics published at various .NET versions, NOT a Silverlight topic. The service is using contextual information such as project type and reference assemblies to give you what it thinks is the best match, but might also give you the others as "near misses" and provide them as the F1 Options list. It was ALMOST working in that it is at least ranking .NET results lower, but unfortunately is being tripped up within the Silverlight results by this MSDN versioning issue.

For a class, the "Members" page is the intial page that comes up. There is also a "Class" page available from within the "F1 Options" results.

Initially, F1 will strike out trying to find any of the API that was added after the Silverlight 3 beta. And unfortunately my workaround will not work in many of these cases. The initial page displayed won't be a beta1 page (since there is no beta1 page) and exactly what comes up varies wildly. You might get a .NET page, or a like-named API from a totally random technology like primary interop assemblies for Office. You can still find a version 3 Silverlight result somewhere in the "F1 Options" list .... maybe. For instance I tried this with UIElement.MouseWheel, which was added to Silverlight 3 after the beta. Sadly, there were 15+ results, and you don't get enough information from the text displayed in "F1 Options" to know what to do if the second displayed result isn't right either. In this case, I think you are probably better off just opening a web browser to MSDN online, and using the TOC or searching for the API string either with filters or by including the text "Silverlight" as part of your search string.

Embarassing fact: I didn't even know that the "F1 Options" UI item existed in the Visual Studio help UI until I discovered this problem and rooted around for a workaround :-)

This issue is only relevant if your Visual Studio settings have you using online F1. Offline F1 for Silverlight is actually a non-starter; there is no HXS documentation collection shipped as part of the Silverlight SDK or by any other means, so Visual Studio has nothing to reference. If you intend to do a lot of Silverlight work, use the online F1 setting. You can change this from the Help-Online dialog in the Options.

The issue and the workaround are the same whether you use the Integrated Help Viewer or External Help Viewer option by the way; the "F1 Options" UI is present in both.

Comments

  • Anonymous
    July 21, 2009
    It's a real shame that there's no local integrated help anymore. It's so much faster than the online help, and the TOC syncing is much better. I guess we're stuck with the CHM.