「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>NuGet]] * 目次 [#z19e7331] #contents *概要 [#fa0976f2] NuGetパッケージで展開されているモジュール内の~ デバッグ実行が必要になった時の手順も確立しておく必要がある。 *パッケージの登録 [#nd4008c8] '*.pdbを同梱する場合は、ビルド時のフォルダ構成に注意すること(開発環境と一致させる)。~ ただし「[[ビルド環境と開発環境のソースファイルパスを一致させる(PDB)。]]」で対応できる。 **(Primary packageに)PDBを同梱 [#u34263f8] 「[[NuGetパッケージの開発と公開]]」を参照。 ***ポイント [#j842631b] '*.pdbファイル以外のすべてのファイル(*.dll、*.pdb、*.xml)を含める。 ***手順 [#v3230e25] -[[nuspecファイルの書き方の例>NuGetパッケージの開発と公開#ufd9e6b0]] -[[NuGetパッケージの作成方法>NuGetパッケージの開発と公開#g07875e2]] -パッケージ名~ {identifier}.nupkg **Symbol Packageを利用 [#e3f16568] NuGetは、Symbol Packageを作成し、SymbolSourceリポジトリに公開することもサポート ***ポイント [#tedb06ca] -*.dll、*.pdb、*.xmlに加え、ソースファイル(任意)を同梱。 -libフォルダの構造はPrimary packageと完全に同じにする。 -追加で、ソースファイルのルートフォルダをsrcに指定する。 ***準備 [#s8839bef] -nuspecファイルの書き方の例(srcはソースファイルのルートフォルダ) <files> <file src="Full\bin\Debug\*.dll" target="lib\net40" /> <file src="Full\bin\Debug\*.pdb" target="lib\net40" /> <file src="Silverlight\bin\Debug\*.dll" target="lib\sl40" /> <file src="Silverlight\bin\Debug\*.pdb" target="lib\sl40" /> <file src="**\*.cs" target="src" /> </files> -作成方法(以下の何れか) nuget pack [*.nuspecファイルパス] -Symbols nuget pack [*.csprojファイルパス] -Symbols -パッケージ名~ {identifier}.symbols.nupkg ***登録 [#h43a29c4] -概要 --NuGetプロトコルを実装するnuget.exe v4.1.0以上を使用 --nuget.orgとsymbolsource.orgの両方に登録を行う。 -操作 --便宜上、NuGetを使用してAPIキーを保存 nuget SetApiKey Your-API-Key --Primary packageをプッシュした後に、Symbol Packageをプッシュ~ (*.symbols.nupkgとあれば自動的にsymbolsource.orgがターゲットになる。) nuget push *.symbols.nupkg --Sourceオプションを使用して、Symbol Packageを別のSymbol Repositoryにプッシュ ---命名規則に従わないSymbol PackageをSymbol Repositoryにプッシュする場合 ---nuget.exe 4.5.0以降では、Symbol Packageを個別にsymbolsource.orgにプッシュする必要がある。 nuget push *.symbols.nupkg -source https://nuget.smbsrc.net/ --Primary package、Symbol Packageの両方を同時に両方のRepositoryにプッシュすることもできる。 nuget push *.nupkg >>※ https://nuget.smbsrc.net/ は、symbolsource.orgのプッシュURL。 *パッケージのデバッグ [#zd224c6d] **(Primary packageに)PDBを同梱 [#uce0e316] -*.pdbファイルが同梱されていれば、そのままデバッグ可能。 -ただし、[[ソースファイルの配置>#a439cd53]]については考慮が必要。 **Symbol Packageを利用 [#d56a4093] -*.pdbファイルとソース ファイルを自動的に取得してソース コードのステップ インが可能 -ただし、以下の設定が必要になる。 --カスタム シンボル サーバ、ソース サーバの順序を有効にする。~ [ツール] ---> [オプション] ---> [デバッグ] ---> [全般] ---[マイ コードのみを有効にする]のチェックを外す。 ---[.NET Framework ソースのステッピングを有効にする]のチェックを外す。 --[[ソース サーバを有効にする。>#a439cd53]] --[[シンボル サーバ、ソース サーバの追加>#a439cd53]]~ [ツール] ---> [オプション] ---> [デバッグ] ---> [シンボル] ---> [シンボル ファイル (.pdb) の場所] ---http://referencesource.microsoft.com/symbols ---http://srv.symbolsource.org/pdb/Public or the authenticated variant (see above) ---http://srv.symbolsource.org/pdb/MyGet or the authenticated variant (see above) ---(other symbol servers with sources) ---http://msdl.microsoft.com/download/symbols ---(other symbol servers without sources) *参考 [#w508407e] **Microsoft Docs [#q57486a9] -How to create NuGet symbol packages~ https://docs.microsoft.com/ja-jp/nuget/create-packages/symbol-packages -How to Publish a NuGet Package~ https://docs.microsoft.com/ja-jp/nuget/create-packages/publish-a-package **SymbolSource.org [#h860d743] Your source for debugging symbols... and sources.~ -HOME | What does it do?~ https://www.symbolsource.org/Public/ -Help | Using~ https://www.symbolsource.org/Public/Wiki/Using -Register~ https://www.symbolsource.org/Public/Account/Register -Metadata --Public~ http://www.symbolsource.org/Public/Metadata --MyGet~ http://www.symbolsource.org/MyGet/Metadata **[[ビルド環境と開発環境のソースファイルパスを一致させる(PDB)。]] [#a439cd53] ---- Tags: [[:.NET開発]], [[:デプロイ]], [[:デバッグ]], [[:NuGet]]