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 box, 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 box, 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.