NuGet.org の手順を使用して、オープンソース DLL ごとにシンボル パッケージを作成しました。たとえば、以前nuget pack -Version 2.4.3 -symbols Core\Loyc.Essentials.nuspec
は と を作成Loyc.Essentials.2.4.3.nupkg
してLoyc.Essentials.2.4.3.symbols.nupkg
いました。
.nupkg の名前を .zip に変更して、パッケージには、フォルダー内の完全なソース コードと共に.symbols.nupkg
、予期される .dll、.pdb、および .xml ファイルが含まれていることを確認しました。lib\net45
src
AppVeyor を使用して、同様のnuget
コマンドでパッケージをビルドし、次のオプションを使用してシンボル パッケージと非シンボル パッケージを公開しました。
deploy:
- provider: NuGet
server:
api_key:
secure: DHTp3wMjKqyca2PWftol2wq7DxE9KdL8AizHVIS14T4DSSMXgc0bIiCGvvA8SkTH
skip_symbols: false # Whether to not publish symbol pkgs (src/pdb)
artifact: /.*\.nupkg/
on:
branch: master # Release from master branch only.
appveyor_repo_tag: true # Deploy on tag push only.
それはうまくいったようです:
Publishing Loyc.Essentials.24.3.0.nupkg to https://www.nuget.org/api/v2/package...OK
Publishing Loyc.Essentials.24.3.0.symbols.nupkg to https://nuget.smbsrc.net/api/v2/package...OK
テスト プロジェクトを作成し、VS NuGet GUI を介してパッケージを追加しました。
最後に、シンボル サーバーの使用方法に関する詳細な手順に従いました。nuget.orgで推奨されているように、デバッグの VS オプションの「シンボル ファイル (.pdb) の場所」のリストにhttps://nuget.smbsrc.netも追加しました。シンボル。
うまくいきません。SymbolCache にFailedLoads
、各 DLL (および NUnit) のテキスト ファイルを含むフォルダーがあることに気付きました。テキスト ファイルには、単に「PDB Not Found」が含まれています。PDB が見つからないのはなぜですか?