How to configure Artifactory as a Symbol Server

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). 

Using TFS Machine:

1. Configure your Build Definition to Publish your Symbols into Buildssymbols (Or any other path that later on you would use to define your IIS - as described below).

2. Create the following repositories in Artifactory:

  • Remote Repository microsoft-symbols-IIS . set the url to the virtual directory name configured in IIS (in this example: http://localhost/symbols).

  • Remote Repository: microsoft-symbols set the url to point to mictosoft symbol server: http://msdl.microsoft.com/download/symbols

  • Virtual Repository: symbols contains the 2 repositories above. This repository will aggregate all the symbols (with PDB) NuGet packages. 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. Enable Nuget support for this repository

 

Configuring IIS (on the machine where your .pdb files are reside

Add a Virtual Directory under the Default Web Site that will point to the location of the .pdb files:

a. Control PanelSystem and SecurityAdministrative ToolsInternet Information Service(IIS) Manager

b. Right click Default Web Site and select Add Virtual Directory

c. Set the physical path to c:buildsSymbols

 

d. A new MIME Type should be added to the list of filename extensions to associate the symbol files by the web server: Right click MIME Type symbol and select Open Feature. Select the Add... on the right side of the window and edit as described below:

 

On the Visual Studio Side

  • Remove the symbol cache before performing this test. Symbol cache located under C:UsersAdministratorAppDataLocalTemp1SymbolCache

  • Change the location of the symbol file (.pdb) locations under:  Tools->Options->Debugging->Symbols  Add a new symbol server that will have the path to the .pdb files that are located under the TFS machine (the virtual repository that was created above) (http://tfs::8081/artifactory/microsoft-symbols-IIS ).  Note that there is no way to set the path directly to Artifactory since the symbol server cannot take a URL as a path.  

For more information, visit https://www.jfrog.com/confluence/display/RTF/NuGet+Repositories