Home

Awesome

Source Link

<img src="https://ctaggart.github.io/SourceLink/SourceLink128.jpg" align="right">

Source Link support allows source code to be downloaded on demand while debugging. Source Link is a set of build tools to help create and test for source link support. Source Link support is a developer productivity feature that allows unique information about an assembly's original source code to be embedded in its PDB during compilation.

.NET Foundation

Source Link is now a .NET Foundation project at https://github.com/dotnet/sourcelink/. It joined in 2017-11. Announced for .NET Core 2.1, much of the Source Link support has been integrated into the SDK.

New tools are shipped in the NuGet Gallery as Microsoft.SourceLink.*. They work on all platforms supported by .NET Core as well as on .NET Framework.

Most of the tools from this repository are made obsolete by the .NET SDK 2.1 and Microsoft.SourceLink tools. See wiki for detials. This repository will still continue to fill in gaps in tooling. The only tool so far is a sourcelink command-line tool for testing for Source Link support.

Source Link testing tool

sourcelink is a .NET Core global tool.

dotnet tool install --global sourcelink

sourcelink is a global tool to test that the Source Link enabled nupkg or pdb file work. It tests all source files listed in the pdb. You can also print diagnostic information for a pdb. Run sourcelink without any options for a list of diagnostic commands and help:

SourceLink 3.0.0
Source Code On Demand

Usage:  [options] [command]

Options:
  -h|--help  Show help information

Commands:
  print-documents  print the documents stored in the pdb or dll
  print-json       print the Source Link JSON stored in the pdb or dll
  print-urls       print the URLs for each document based on the Source Link JSON
  test             test each URL and verify that the checksums match

Use " [command] --help" for more information about a command.

License

SourceLink tools are licensed under the MIT license.

Community

This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information, see the .NET Foundation Code of Conduct.