Search code examples
visual-studionugetnuget-packagepdb-filessymbol-server

How do I see if a symbol package has been published for a given Nuget package?


I want to use a debugger to step through the code of an open-source, public Nuget package that my project references. My understanding is that if the package publishes a symbol package I should be able to do this.

It's not working, and I can see that it's because the .pdb file can not be located:

enter image description here

Presumably this is because either:

a) I haven't correctly set up Visual Studio to load symbols from the right place (the info online about this is all very confusing and contradictory), or...

b) The package in question doesn't publish a symbols package.

How do I check if b is the issue? Is there an easy way to check if a symbol package has been published for a given NuGet package?


Solution

  • How do I check if b is the issue? Is there an easy way to check if a symbol package has been published for a given NuGet package?

    You can use the nuget.exe CLI Reference list to list the version of that package on the symbol sources:

    https://learn.microsoft.com/en-us/nuget/tools/cli-ref-list

    The list command:

    nuget.exe list Microsoft.AspNetCore.Authentication.OpenIdConnect -AllVersion -Prerelease -source https://nuget.smbsrc.net
    

    After test, I found the symbol package of that package has not been published:

    enter image description here

    Note: The package LSGTestNuGetPackage is a test symbol package, which I published before.