Silverlight Tools for VS and F1 Help


If you’ve installed the Silverlight Tools for Visual Studio 2008, you may have noticed that pressing F1 in the VS Code Editor or in XAML View can take you someplace unexpected. You’ll see this with types and members that are "shared" between Silverlight and the .NET Framework, which means that shared types have the same name and namespace. F1 Help is unable to disambiguate between the two types, and it chooses the last one installed, which is almost always the offline Help for Silverlight Tools.

The workaround is to adjust the settings in Visual Studio’s Tools|Options|Environment|Help|Online dialog box. There are two scenarios:

  • In the Tools|Options dialog, set your preferences to use local help. In this case, pressing F1 on a .NET/Silverlight shared member always goes to the Silverlight version, regardless of whether you are developing for .NET or Silverlight.
  • In the Tools|Options dialog, set your preferences to use online help. In this case, pressing F1 on a .NET/Silverlight shared member always goes to the .NET online version, regardless of whether you are developing for .NET or Silverlight.

To get the Help content you expect from F1, use the following settings.

  • For .NET and WPF development, select Try online first, then local.
  • For Silverlight development, select Try local only, not online.

If you are developing with both frameworks in the same solution, you’ll need to toggle between the two settings.

Update: Changed "Silverlight Toolkit" to "Silverlight Tools for VS." My bad.

Comments (3)

  1. realparadyne says:

    Hi, any ideas on solving this one  when I’m using my laptop and not online though?

  2. JGalasyn says:

    I have it on good authority that you can rename/remove the three Silverlight HXS files from their installed location at Program Files/Silverlight SDKs/Silverlight/v2.0/Documentation/vs-help/en-us. Just moving the Help collections from their registered locations in the local file system gets them out of the way of collisions with the .NET collections.