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

Enable SourceLink (or embed debugging symbols in NuGet package) #26

Open
taurit opened this issue Sep 10, 2024 · 0 comments
Open

Enable SourceLink (or embed debugging symbols in NuGet package) #26

taurit opened this issue Sep 10, 2024 · 0 comments

Comments

@taurit
Copy link

taurit commented Sep 10, 2024

Is your feature request related to a problem? Please describe.
As a developer using the library, I sometimes want to step into the library's code while debugging or working with the code in the IDE.

Currently, when I navigate to symbols, Visual Studio cannot find them and falls back to decompiling the DLL. This results in a source code that is not debuggable (breakpoints can't be set) nor complete (here we have no default values visible):

obraz

Instead, I would like to see a real source code after navigation:

obraz

Describe the solution you'd like
I think there are two good, alternative solutions to this problem:

  1. Enable SourceLink to have metadata about GIT repo and git commit embedded in the library so that Visual Studio can find the relevant source files.

  2. Generate PDB files with symbols and include them in the NuGet package. From my experience, this has somewhat broader compatibility with the IDEs than SourceLink. The downside is that NuGet package is slightly larger. And having symbols in a separate *.snupkg wasn't well supported in the repositories the last time I checked.

Describe alternatives you've considered
Alternatively, developers would need to clone the library's source code and reference it from their source code instead of the NuGet package.

Additional context
I wanted to experiment a bit and propose a concrete code change, but I'm not sure how NuGet packages are created in this repo. Is dotnet-gemini.nuspec is used at all? I'm not sure if the package is created from Visual Studio or with some commands...

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

No branches or pull requests

1 participant