Share via


使用 Source Link 啟用偵錯和診斷

Source Link 是一項可為二進位檔案提供一流原始檔偵錯體驗的技術。 透過啟用 Source Link 的程式庫,偵錯工具可以在您逐步執行時,下載基礎來源檔案,而且您可以像使用任何其他來源一樣設定中斷點/追蹤點。 它也可讓分析工具在偵錯 Azure 等生產環境時,輕鬆地尋找正確的原始程式碼。

您可以設定幾個屬性,並將 PackageReference 新增至 Source Link 套件,以在自己的 .NET 專案中啟用 Source Link 體驗:

<Project Sdk="Microsoft.NET.Sdk">
 <PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
 
    <!-- Optional: Publish the repository URL in the built .nupkg (in the NuSpec <Repository> element) -->
    <PublishRepositoryUrl>true</PublishRepositoryUrl>
 
    <!-- Optional: Embed source files that are not tracked by the source control manager in the PDB -->
    <EmbedUntrackedSources>true</EmbedUntrackedSources>
  
    <!-- Optional: Build symbol package (.snupkg) to distribute the PDB containing Source Link -->
    <IncludeSymbols>true</IncludeSymbols>
    <SymbolPackageFormat>snupkg</SymbolPackageFormat>
  </PropertyGroup>
  <ItemGroup>
    <!-- This assumes GitHub source control but other repo options are available --> 
    <PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1" PrivateAssets="All"/>
  </ItemGroup>
</Project>

共用符號

在專案中啟用 Source Link 之後,您必須確定在組建程序期間建立的符號檔案 (PDB) 可供 Visual Studio (或分析工具) 使用。 您可以將 PDB 與您的應用程式一起散發 (或在 NuGet 套件中)。 或者,您可以使用下列專案設定,將符號檔案內嵌在應用程式或組件中。

<DebugType>embedded</DebugType>

如果您的應用程式是透過發佈至 NuGet.org 的套件散發為程式庫,建議您組建符號套件,並將它發佈至 NuGet.org。 NuGet.org 符號伺服器上可用的符號可讓偵錯工具在需要時下載。

注意

NuGet 套件不一定建議使用內嵌符號,因為它會增加大小,進而增加使用套件的專案的還原時間。

其他原始檔控制提供者

Source Link 套件適用於多個原始檔控制提供者: