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.
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.
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.
SourceLink tools are licensed under the MIT license.
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.