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

Switch to SourceLink instead of PdbGit #1417

Closed
thomaslevesque opened this issue Aug 31, 2018 · 8 comments · Fixed by #1673
Closed

Switch to SourceLink instead of PdbGit #1417

thomaslevesque opened this issue Aug 31, 2018 · 8 comments · Fixed by #1673

Comments

@thomaslevesque
Copy link
Member

At some point, SourceLink worked only with portable PDBs, but ILMerge doesn't like those. But now this limitation has been removed, and I think there would be benefits to using SourceLink instead of PdbGit:

  • SourceLink has joined the .NET Foundation and is now the officially supported way to enable source stepping
  • It's actively maintained, whereas PdbGit hasn't released a new version in almost 2 years
  • It integrates better with the build process (just reference the package and you're done, no need to do it explicitly in the build script)
@thomaslevesque
Copy link
Member Author

It integrates better with the build process (just reference the package and you're done, no need to do it explicitly in the build script)

We probably need to be careful about how it interacts with ILMerge, though

@thomaslevesque
Copy link
Member Author

Oh, and it also takes care of including the PDB in the NuGet package; no more hack 😉

@thomaslevesque
Copy link
Member Author

@blairconrad any objection? I can start working on it today.

@thomaslevesque
Copy link
Member Author

OK, it's not going to be that simple... It works fine for netstandard1.6, but not for net40/net45, because of ILMerge. SourceLink works by generating a file that is passed as an argument to csc.exe with the -sourcelink option. It doesn't rewrite the PDB like PdbGit does, it just includes the necessary information in the PDB from the start. The problem is that ILMerge doesn't preserve that information, and until it does, we're stuck...

@blairconrad
Copy link
Member

Bummer!

@thomaslevesque
Copy link
Member Author

I still want to do this, but for now we're stuck... I'll put it on-hold for now (maybe we should have a "blocked" label)

@thomaslevesque
Copy link
Member Author

@blairconrad I assume we can remove the discussion tag, unless you're not convinced by SourceLink?
FYI, I tried it, after removing ILMerge, and it works fine!

@blairconrad blairconrad added this to the vNext milestone Oct 23, 2019
@blairconrad blairconrad changed the title Consider switching to SourceLink instead of PdbGit Switch to SourceLink instead of PdbGit Oct 23, 2019
@afakebot
Copy link

This change has been released as part of FakeItEasy 6.0.0-beta.1.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants