Welcome to the Inedo Forums! Check out the Forums Guide for help getting started.
If you are experiencing any issues with the forum software, please visit the Contact Form on our website and let us know!
Symbols Not Loading for NuGet Package with Multiple Targets
-
Most of our NuGet packages support multiple framework targets. However, it seems that ProGet is only indexing symbols from the first target. This leads to the symbol server responding with "Symbols not found on symbol server" for the majority of our use cases.
For example, here is the information in the ProGet web interface for one of our packages that supports net45, net462, and net471.
Path: lib/net45/redactedassembly.pdb
GUID: b1a292e4-f9aa-3ce9-4f6f-e28600ae6ca3
When debugging from VS2015 in a project targeting net462, the Symbol Loading Information reports the following:
SYMSRV: http://redactedserver/symbols/redactedfeed/redactedassembly.pdb/1DE3AD810A4348E2B9F0267DA1B0EB201/redactedassembly.pdb not found
http://redactedserver/symbols/redactedfeed: Symbols not found on symbol server.
Product: ProGet
Version: 4.8.8
-
For symbol indexing, I don't believe ProGet does anything other than scan for .pdb files, and index them. Indexed files should appear in the "View Symbols" button.
If they're not there, then it might mean the symbols can't be read for whatever reason (invalid, the portable pdb format, etc).
-
Thanks Alana. We double checked the PDB files that were being created, and only the .NET 4.5 version was a "full" PDB. After additional investigating we have found the issue.
When working with a SDK style project in Visual Studio 2017, the UI does not accurately set the DebugType Full property in the project. For us it left a condition on the PropertyGroup which only applied the DebugType Full element to the net45 version of the assembly. After removing that condition, we are now getting full PDBs created for each version of the assembly.