ReSharper
 
Get ReSharper
Get your hands on the new features ahead of the release by joining the Early Access Program for ReSharper 2025.1! Learn more

Navigate To: Sources from Symbol Files

Last modified: 26 May 2024

This command tries to fetch the original source file of a library symbol and display the symbol there.

The command becomes available when you invoke Navigate To on a library symbol in your source code and on decompiled sources. You can invoke this command from the Solution Explorer, File Structure window, and other tool windows.

ReSharper: Navigating to external source file

It may take some time while ReSharper downloads the required files from the symbol server; in this case, you will see the download progress.

This command is not available if the Default Visual Studio Navigation is selected in the Tools | External Sources page of ReSharper options. To make it available, select any other option in this group.

To successfully execute this command, PDB information should be available for the target assembly. ReSharper uses two approaches to search for the PDB:

  • It searches for PDB locally, in the same directory where the target assembly is located.

  • If it fails to find the PDB there, it looks it up on a symbol server using the _NT_SYMBOL_PATH environment variable. Additionally, ReSharper uses Visual Studio options to find symbol servers. See below, how to specify symbol servers in Visual Studio options.

    Some companies publish parts of their sources using symbol servers (source servers). For example, Microsoft uses this technology to provide access to the source code of the .NET Framework. If the symbol server for the target PDB is available, this command can access sources stored that way.

To make ReSharper aware of available symbol servers, you need to specify them in Visual Studio options and/or in the _NT_SYMBOL_PATH environment variable. ReSharper will look for symbol files and download them from the specified locations.

If the source symbols are hosted on a private source server, ReSharper will fetch them using private Source Link and ask for the connection credentials if necessary.

If you use private Source Link, make sure that the Enable private Source Link support on the Tools | External Sources page of ReSharper options Alt+R, O.

This feature is supported in the following languages and technologies:

The instructions and examples given here address the use of the feature in C#. For more information about other languages, refer to corresponding topics in the Languages and frameworks section.