SourceLink
SourceLink ist eine Technologie, mit der Entwickler Quellcode aus .NET-Assemblys über NuGet debuggen können. SourceLink wird beim Erstellen des NuGet-Pakets ausgeführt und bettet Metadaten der Quellcodeverwaltung in Assemblys und das Paket ein. Entwickler, die das Paket herunterladen und SourceLink in Visual Studio aktiviert haben, können den Quellcode schrittweise ausführen. SourceLink bietet Metadaten zur Quellcodeverwaltung, um das Debuggen zu optimieren.
SourceLink-Demo
Verwenden von SourceLink
Anweisungen zum Verwenden von SourceLink finden Sie im GitHub-Repository dotnet/sourcelink.
Sie können mithilfe der Desktop-App NuGet-Paket-Explorer oder der Website nuget.info bestätigen, dass die SourceLink-Metadaten erfolgreich in das Paket eingebettet wurden. Überprüfen Sie, ob die Repository
-Metadaten über eine Commit-ID verfügen und sich PDB-Dateien in der jeweiligen DLL-Zieldatei befinden.
✔️ Erwägen Sie, Ihren Assemblys und NuGet-Paketen gegebenenfalls mithilfe von Source Link Metadaten der Quellcodeverwaltung hinzuzufügen.
Tipp
Sie können für Entwickler den Debugvorgang weiter verbessern, indem Sie Ihren Typen Debuggerattribute hinzufügen.
- DebuggerDisplayAttribute kann anpassen, wie eine Klasse oder ein Feld in den Variablenfenstern des Debuggers angezeigt wird.
- DebuggerStepThroughAttribute weist den Debugger an, schrittweise durch den Code zu laufen, anstatt ihn schrittweise auszuführen.
- DebuggerBrowsableAttribute bestimmt, ob und wie ein Member in Debuggervariablenfenstern angezeigt wird.
✔️ Erwägen Sie, Symboldateien zu veröffentlichen (*.pdb
).
Für das beste Debugergebnis sollte Ihre Bibliothek sowohl Symboldateien veröffentlichen als auch SourceLink verwenden. Weitere Informationen zu Symboldateien und Symbolpaketen finden Sie unter Symbolpakete.
✔️ ERWÄGEN SIE, deterministische Builds zu aktivieren.
Deterministische Builds ermöglichen die Überprüfung, ob die resultierende Binärdatei aus der angegebenen Quelle erstellt wurde, und die Nachverfolgbarkeit. Weitere Informationen zu deterministischen Builds und Anweisungen zu deren Aktivierung finden Sie unter Deterministic Builds (Deterministische Builds).