[Suggestion] publish .snupkg to nuget.org as well
hanabi1224 opened this issue · 5 comments
Thanks for sharing the blog post. I'd heard rumors of "symbol packages" and a new symbol server but didn't know the details. This fills in a lot of gaps.
FWIW though, this is a take back from what we're already doing. The pdb file is so small we just embed it in the .nupkg itself. This means the pdb is always available to VS no matter what version it's using. The user isn't required to configure a new symbol server to get it.
I can see how this is super useful for packages where the pdb's are large enough that you'd worry about bloating the size of your primary nupkg, but that isn't the case here.
So I'm going to Won't Fix this because the use case of being able to get symbols and step into source should already work.
Sure, that makes sense.
BTW, just FYI, there are some small drawbacks of using nukpg embedded pdb files documented here
If a .pdb is included in a normal .nupkg, NuGet and NuGet.org will not do any special validation or indexing of the .pdbs. Debugging of the .nupkg will work in a limited way as the symbols will be cached next to the .dll, but it will not be indexed and downloaded from a symbol server. The only way to ensure indexing on the symbol server is to include the .snupkg. If the symbols are not indexed, certain scenarios will not work, such as crash dump debugging and attaching to an application.
Those are compelling reasons. Thanks
If you want pdb files in both snupkg and nupkg, build property AllowedOutputExtensionsInPackageBuildOutputFolder may help
<PropertyGroup> <AllowedOutputExtensionsInPackageBuildOutputFolder>.pdb;$(AllowedOutputExtensionsInPackageBuildOutputFolder)</AllowedOutputExtensionsInPackageBuildOutputFolder> </PropertyGroup>
Yes, we're already using that technique: