How to configure Artifactory as a Symbol Server

JFrog Support
2021-01-28 02:53

Currently, Artifactory can be used as NuGet symbol server only with TFS, and Artifactory on Windows with IIS configured (see below on how to proceed).

Configuring Your TFS Machine (Artifactory)

1. Configure your build definition to publish your symbols in buildssymbols.

2. Create the following repositories in Artifactory:

  • Remote repository: microsoft-symbols-IIS, setting the URL to the virtual directory name configured in the IIS. For a locally installed Symbol Server, use "http://localhost/symbols"

  • Remote Repository: microsoft-symbols, where the URL is pointing to the Microsoft symbol server at: http://msdl.microsoft.com/download/symbols

  • Virtual repository: symbols, which contains the two repositories above. Configure the virtual repository to aggregate both remote repositories (microsoft-symbols-IIS and microsoft-symbols) where the first repository to resolve from would be the IIS one. This repository will aggregate all of the remote symbols and NuGet PDB files. Enable NuGet support for this repository.

 

Configuring Your IIS (on the same machine where your .pdb files reside)

In order to add a virtual directory that will point to the location of the .pdb files, we need to configure the IIS site:

  1. Go to Control Panel -> System and Security -> Administrative Tools -> Internet Information Service(IIS) Manager
  2. Right click on Default Web Site and select Add Virtual Directory
  3. Set the physical path to c:buildsSymbols
  4. A new MIME type should be added to the list of filename extensions to associate the symbol files sent by Artifactory. Accordingly, right click the MIME type symbol and select Open Feature. On the right side of the window, select "Add…" and edit as described below:

Configuring Your Visual Studio

Before you configure Visual Studio, you first need to clear its symbol cache, which is located at C:UsersAdministratorAppDataLocalTemp1SymbolCache. Once this is cleared, you can pull the Symbols from Artifactory.

To update the Symbol Server, go to: Tools-> Options-> Debugging-> Symbols.

Add a new symbol server, and set the path to the .pdb files, which are located on the TFS machine (Artifactory). Point the client to the Virtual "symbols" Repository created earlier (Ex: http://tfs:8081/artifactory/symbols ). Note: There is no way to set this path directly to Artifactory because the symbol server cannot accept a URL as a path.

More information on Symbol Servers is available HERE.