Kaynak Bağlantısı ile hata ayıklamayı ve tanılamayı etkinleştirme
Kaynak Bağlantısı, ikili dosyalar için birinci sınıf kaynak hata ayıklama deneyimlerini etkinleştiren bir teknolojidir. Kaynak Bağlantı özellikli kitaplıklarla hata ayıklayıcı , siz adım atarken temel alınan kaynak dosyalarını indirebilir ve diğer kaynaklarla yaptığınız gibi kesme noktaları/izleme noktaları ayarlayabilirsiniz. Ayrıca analiz araçlarının Azure gibi üretim ortamlarında hata ayıklarken doğru kaynak kodunu kolayca bulmasını sağlar.
Kendi .NET projenizde Kaynak Bağlantı deneyimini etkinleştirmek için birkaç özellik ayarlayabilir ve Bir Kaynak Bağlantı paketine PackageReference ekleyebilirsiniz:
<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>
Sembolleri paylaşma
Projenizde Kaynak Bağlantı'yı etkinleştirdikten sonra, derleme işlemi sırasında oluşturulan sembol dosyalarının (PDB) Visual Studio'da (veya çözümleme aracınızda) kullanılabilir olduğundan emin olmanız gerekir. PDB'leri uygulamanızın yanına (veya NuGet paketinde) dağıtabilirsiniz. Alternatif olarak, aşağıdaki proje ayarıyla sembol dosyasını uygulama veya derlemeye ekleyebilirsiniz.
<DebugType>embedded</DebugType>
Uygulamanız NuGet.org yayımlanan bir paket aracılığıyla kitaplık olarak dağıtılıyorsa, bir sembol paketi oluşturmanız ve NuGet.org'de yayımlamanız önerilir. NuGet.org sembol sunucusunda bulunan simgeler, hata ayıklayıcının gerektiğinde indirmesine olanak sağlar.
Not
NuGet paketleri boyutunu ve bu nedenle paketinizi kullanan projelerin geri yükleme süresini artırdığından simgeleri ekleme her zaman önerilmez.
Alternatif kaynak denetimi sağlayıcıları
Kaynak Bağlantısı paketleri birden çok kaynak denetimi sağlayıcısı için kullanılabilir:
- github.com ve GitHub Enterprise
- Azure Repos (eski Visual Studio Team Services)
- Azure DevOps Server (eski Team Foundation Server)
- GitLab
- Bitbucket