ProGet Documentation

Symbol and Source Server

Symbol and Source Server

A ProGet Feed may be configured as a Symbol/Source server compatible with debuggers such as Visual Studio and WinDbg.

Accessing Symbols

When the Symbol Server is enabled, any symbols files stored in local Feed packages will be accessible via the symbol server URL:


Symbol Packages

ProGet supports using NuGet symbol packages built with the -Symbols argument. These symbol packages are nothing more than a standard NuGet package with .pdb files and possibly source files included, and they have a .symbols.nupkg file extension by convention. NuGet produces two packages (one with symbols and one without) because one is intended to be pushed to, while the other is intended to be pushed to a symbol feed.

Because ProGet integrates symbols in all of its NuGet feeds, having two packages is not necessary and can actually be counterproductive. Symbol packages only differ from "normal" packages by convention, so attempting to push both to a ProGet feed will result in a race condition - whichever package is pushed "last" will overwrite the original one.

To summarize, push only the symbol package to your ProGet feed if you intend to use the symbol server. To prevent symbols from being downloaded with the NuGet package, see the Automatically Strip PDB files option on the NuGet feed configuration page.