Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use portable PDB in separate NuGet symbol package #789

Merged
merged 7 commits into from
May 27, 2019

Conversation

stakx
Copy link
Contributor

@stakx stakx commented Mar 10, 2019

We want to continue publishing SourceLink-ed debug symbols, but using classic Windows PDBs generates a huge package. Using the much smaller portable PDB format would be much better, but some people may still experience problems with those. (See e.g. GitHub issue #428.)

Let's follow the official guidance (see links below) and publish debug symbols in a separate .snupkg package to NuGet's symbol server. This means that we can (must, in fact) use portable PDBs as it will be the consumers' choice whether to use the separate symbols or not.

Closes #447.

References:

@stakx stakx added this to the 4.11.0 milestone Mar 10, 2019
@stakx stakx changed the title Use portable PDB in separate NuGet symbol package WIP: Use portable PDB in separate NuGet symbol package Mar 10, 2019
@stakx stakx added the draft label Mar 10, 2019
@stakx
Copy link
Contributor Author

stakx commented Mar 10, 2019

Changed this PR's status to "work in progress" because AppVeyor apparently does not yet support pushing .snupkg to NuGet, see appveyor/ci#2753. We'll also need to update appveyor.yml.

@stakx stakx removed this from the 4.11.0 milestone Apr 3, 2019
@stakx
Copy link
Contributor Author

stakx commented May 7, 2019

AppVeyor still doesn't support .snupkg packages, I am going to close this PR until that changes.

@stakx stakx closed this May 7, 2019
@stakx stakx reopened this May 23, 2019
stakx added 6 commits May 27, 2019 22:59
We want to continue publishing SourceLink-ed debug symbols, but using
classic Windows PDBs generates a huge package. Using the much smaller
portable PDB format would be much better, but some people may still
experience problems with those. (See e.g. GitHub issue devlooped#428.)

Let's follow the official guidance (see links below) and publish debug
symbols in a separate `.snupkg` package to NuGet's symbol server. This
means that we can (must, in fact) use portable PDBs as it will be the
consumers' choice whether to use the separate symbols or not.

References:
 * https://docs.microsoft.com/en-us/nuget/create-packages/symbol-packages-snupkg
 * https://github.com/dotnet/SourceLink#alternative-pdb-distribution
ctaggart's SourceLink has at some point started packing `.pdb` files
into the main Nuget package, which is not ideal if we want to publish
a separate `.snupkg` to NuGet.

For that reason, let's make the switch to `dotnet/SourceLink` even
though it is *still* only in beta.

References:
 * ctaggart/SourceLink#291
@stakx stakx changed the title WIP: Use portable PDB in separate NuGet symbol package Use portable PDB in separate NuGet symbol package May 27, 2019
@stakx
Copy link
Contributor Author

stakx commented May 27, 2019

This looks good as far as I can see, but I'll have to run a final test and actually publish to NuGet (as another pre-release).

@stakx stakx removed the draft label May 27, 2019
@stakx stakx merged commit c7ed8da into devlooped:master May 27, 2019
@stakx stakx deleted the nuget branch May 27, 2019 21:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Consider switching to portable PDB symbol files
1 participant