다음을 통해 공유


소스 링크를 사용하여 디버깅 및 진단 사용

Source Link는 이진 파일에 대해 일류 소스 디버깅 환경을 가능하게 하는 기술입니다. Source Link 지원 라이브러리를 사용하면 디버거가 한 단계씩 코드를 실행할 때 기본 원본 파일을 다운로드할 수 있으며, 다른 원본과 마찬가지로 중단점/추적점을 설정할 수 있습니다. 또한 Azure와 같은 프로덕션 환경을 디버깅할 때 분석 도구에서 올바른 소스 코드를 쉽게 찾을 수 있습니다.

몇 가지 속성을 설정하고 Source Link 패키지에 PackageReference를 추가하여 고유한 .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(또는 분석 도구)에서 사용할 수 있는지 확인해야 합니다. 애플리케이션(또는 NuGet 패키지)과 함께 PDB를 배포할 수 있습니다. 또는 다음 프로젝트 설정을 사용하여 애플리케이션 또는 어셈블리에 기호 파일을 포함할 수 있습니다.

<DebugType>embedded</DebugType>

애플리케이션이 NuGet.org에 게시된 패키지를 통해 라이브러리로 배포되는 경우 기호 패키지를 빌드하고 NuGet.org에도 게시하는 것이 좋습니다. NuGet.org 기호 서버에서 사용할 수 있는 기호를 사용하면 필요할 때 디버거에서 다운로드할 수 있습니다.

참고 항목

NuGet 패키지에 기호를 포함하는 것이 항상 권장되는 것은 아닙니다. 기호를 포함하면 크기가 커져서 패키지를 사용하는 프로젝트의 복원 시간이 늘어나기 때문입니다.

대체 소스 제어 공급자

Source Link 패키지는 다음과 같은 여러 소스 제어 공급자에 사용할 수 있습니다.