NuGetパッケージのデバッグ
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-[[戻る>NuGet]]
--[[NuGetプライベート・リポジトリ]]
--NuGetパッケージのデバッグ
--[[NuGetパッケージのプレリリース版]]
* 目次 [#z19e7331]
#contents
*概要 [#fa0976f2]
-NuGetパッケージで展開されているモジュール内の~
デバッグ実行が必要になった時の手順も確立しておく必要があ...
-以下の2つの方法がある。
--(Primary packageに)PDBを同梱
--Symbol Packageを利用
*パッケージの登録 [#nd4008c8]
**(Primary packageに)PDBを同梱する方法 [#u34263f8]
「[[NuGetパッケージの開発と公開]]」を参照。
***ポイント [#j842631b]
-'*.pdbファイル以外のすべてのファイル(*.dll、*.pdb、*.xm...
-'*.pdbを同梱する場合は、ビルド時のフォルダ構成に注意する...
ただし「[[ビルド環境と開発環境のソースファイルパスを一致...
***手順 [#v3230e25]
-[[nuspecファイルの書き方の例>NuGetパッケージの開発と公開...
-[[NuGetパッケージの作成方法>NuGetパッケージの開発と公開#...
-パッケージ名~
{identifier}.nupkg
**Symbol Packageを利用する方法 [#e3f16568]
NuGetは、Symbol Packageを作成し、~
[[「ソース サーバ」、「シンボル サーバ」>ビルド環境と開発...
***ポイント [#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\...
<file src="Silverlight\bin\Debug\*.pdb" target="lib\...
<file src="**\*.cs" target="src" />
</files>
--nuspecファイルは、Primary PackageとSymbol Packageで共有...
--「src="**\*.cs"」の「**」は、再帰的にフォルダを検索する...
---階層構造がある src でも正しく同梱することが可能。
---必要であれば、[[作成したPackageを解凍して>NuGetパッケ...
-作成方法
--以下のコマンドで、symbolとsrcが除外されたPrimary Packag...
nuget pack [*.nuspecファイルパス] -Symbols
--Primary Packageにもsymbolとsrcを含めたい場合、別途、以...
nuget pack [*.nuspecファイルパス]
-パッケージ名~
{identifier}.symbols.nupkg
***登録 [#h43a29c4]
-概要
--NuGetプロトコルを実装するnuget.exe v4.1.0以上を使用
-操作
--NuGetを使用してAPIキーを保存~
※ APIキーは nuget.org より入手できる。
nuget SetApiKey [Your-API-Key]
--Symbol Packageをプッシュ~
---Primary packageをプッシュした後に、Symbol Packageをプ...
nuget push *.symbols.nupkg
---Sourceオプションを使用して、Symbol Repositoryにプッシュ~
Symbol Packageを別のSymbol Repositoryにプッシュ~
若しくは、命名規則に従わないSymbol PackageをSymbol Reposi...
nuget push *.symbols.nupkg -source https://nuget.smbsrc....
---Primary package、Symbol Packageの両方をプッシュ~
Primary package、Symbol Packageの両方を、同時に両方のRepo...
nuget push *.nupkg
---nuget.exe 4.5.0以降、~
Primary package、Symbol Packageを[-source]を指定して個別...
nuget SetApiKey [Your-API-Key]
nuget push *.nupkg -source https://www.nuget.org/
nuget push *.symbols.nupkg -source https://nuget.smbsrc....
>>※ https://nuget.smbsrc.net/ は、symbolのプッシュURL。
**ハイブリッドな方法 [#k27c219e]
以下の登録手順で、Primary packageのPDBとSymbol Packageを...
***nspecを2つ用意する。 [#ufd51f38]
-Primary package用
<files>
<file src="Full\bin\Debug\*.dll" target="lib\net40" />
<file src="Full\bin\Debug\*.pdb" target="pdb\net40" ...
</files>
-Symbol Package用
<files>
<file src="Full\bin\Debug\*.dll" target="lib\net40" />
<file src="Full\bin\Debug\*.pdb" target="lib\net40" />
<file src="**\*.cs" target="src" />
</files>
※ Primary packageで、pdbの場所を外すのは、~
PDB同梱パターンと、Symbol Packageパターンを切り替え可能...
***其々、Package化する。 [#a95f04b5]
-Primary package用
nuget pack [*.nuspecファイルパス]
-Symbol Package用 ※ Primary packageを上書きするので注意!
nuget pack [*.nuspecファイルパス] -Symbols
※ このため、出力先を分けるといい。
***Push前の確認。 [#j9c50fc8]
必要に応じて、Push前の確認を行う。
-[[*.nupkgを*.zipにリネームして同梱物件を取り出す。>NuGet...
-[[ildasmを使用して*.dllの内容を確認する。>.NETアセンブリ...
***其々、Pushする。 [#f380a707]
-APIキーを保存
nuget SetApiKey [Your-API-Key]
-Primary package用
nuget push *.nupkg -source https://www.nuget.org/
-Symbol Package用
nuget push *.symbols.nupkg -source https://nuget.smbsrc....
※ Symbol PackageフォルダにPrimary packageは不要。
*パッケージのデバッグ [#zd224c6d]
**(Primary packageに)PDBを同梱 [#uce0e316]
-*.pdbファイルが同梱されていれば、そのままデバッグ可能。
-ただし、[[ソースファイルの配置>ビルド環境と開発環境のソ...
**Symbol Packageを利用 [#d56a4093]
-*.pdbファイルとソース ファイルを自動的に取得してソース ...
-ただし、以下の設定が必要になる。
--[[ソース サーバのサポートを有効にする。>ビルド環境と開...
--[[シンボル サーバの場所を追加する。>ビルド環境と開発環...
---基本的に、以下のURLを追加するだけでよい。~
https://nuget.smbsrc.net
---複数のサーバを使用する場合、~
同じバイナリのシンボルが含まれている場合があるため、順序...
>
+http://referencesource.microsoft.com/symbols
+https://nuget.smbsrc.net
+(other symbol servers with sources)
+http://msdl.microsoft.com/download/symbols
+(other symbol servers without sources)
**ハイブリッドな方法の場合のデバッグ方法の切替 [#z89c82cb]
***既定 [#w1f365f8]
-nuget.smbsrc.netのSymbol Packageを利用する。
-[[「ソース サーバ」、「シンボル サーバ」を有効にする>#d5...
***切替 [#kb6995d4]
-Primary packageのPDBに切り替える。
--「ソース サーバ」、「シンボル サーバ」を無効にする。
--[シンボル ファイル (.pdb) の場所]に、Primary packageのP...
--ローカルにファイルを配置する。
-nuget.smbsrc.netのSymbol Packageに戻す。
--再度、[[「ソース サーバ」、「シンボル サーバ」を有効に...
--[シンボル ファイル (.pdb) の場所]に指定した、Primary pa...
--ローカルに配置したファイルを削除する。
*変更 [#h8a8f180]
**Symbolの公開URLの変更 [#ua818059]
最近、Symbolの公開URLが
-http://srv.symbolsource.org/pdb/Public から、
-https://nuget.smbsrc.net に、
変更になったもよう。
-参考
--Moving to the new SymbolSource engine | Marcin Mikołajc...
https://tripleemcoder.com/2015/10/04/moving-to-the-new-sy...
**Symbolの作成・登録と更改URLの変更 [#pdcb0f6f]
-最近、Symbolの作成・登録と更改URLが変更になったもよう。
>[[ハイブリッドな方法>#k27c219e]]で、PDBを避けていた、Pri...
「-SymbolPackageFormat snupkg」オプションを追加するだけで...
PrimaryとSymbolのpackageの両方が生成可能になり、また、~
登録処理をPrimaryとSymbolの2回に分けて実行する必要がなく...
-参考
--The way to generate and register symbol packages~
with NuGet has been changed. · Issue #380 · OpenTouryoPro...
https://github.com/OpenTouryoProject/OpenTouryo/issues/380
--Improved package debugging experience with the NuGet.or...
https://devblogs.microsoft.com/nuget/improved-package-deb...
--新しいシンボル パッケージ形式 '.snupkg' を使用して NuGe...
https://docs.microsoft.com/ja-jp/nuget/create-packages/sy...
*参考 [#w508407e]
**Microsoft Docs [#q57486a9]
-NuGet パッケージの作成方法~
https://docs.microsof.com/ja-jp/nuget/create-packages/cre...
--NuGet パッケージのプレリリース版~
https://docs.microsoft.com/ja-jp/nuget/create-packages/pr...
--NuGet シンボル パッケージの作成方法~
https://docs.microsoft.com/ja-jp/nuget/create-packages/sy...
-NuGet パッケージの公開方法~
https://docs.microsoft.com/ja-jp/nuget/create-packages/pu...
-NuGet Command-Line Interface (CLI) Reference~
https://docs.microsoft.com/en-us/nuget/tools/nuget-exe-cl...
--NuGet CLI pack command~
https://docs.microsoft.com/en-us/nuget/tools/cli-ref-pack
--NuGet CLI push command~
https://docs.microsoft.com/en-us/nuget/tools/cli-ref-push
**デバッグ可能なNuGetパッケージのサンプル [#nacbfc35]
https://github.com/OpenTouryoProject/SampleProgram/tree/m...
**[[ビルド環境と開発環境のソースファイルパスを一致させる...
----
Tags: [[:.NET開発]], [[:デプロイ]], [[:デバッグ]], [[:NuG...
終了行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-[[戻る>NuGet]]
--[[NuGetプライベート・リポジトリ]]
--NuGetパッケージのデバッグ
--[[NuGetパッケージのプレリリース版]]
* 目次 [#z19e7331]
#contents
*概要 [#fa0976f2]
-NuGetパッケージで展開されているモジュール内の~
デバッグ実行が必要になった時の手順も確立しておく必要があ...
-以下の2つの方法がある。
--(Primary packageに)PDBを同梱
--Symbol Packageを利用
*パッケージの登録 [#nd4008c8]
**(Primary packageに)PDBを同梱する方法 [#u34263f8]
「[[NuGetパッケージの開発と公開]]」を参照。
***ポイント [#j842631b]
-'*.pdbファイル以外のすべてのファイル(*.dll、*.pdb、*.xm...
-'*.pdbを同梱する場合は、ビルド時のフォルダ構成に注意する...
ただし「[[ビルド環境と開発環境のソースファイルパスを一致...
***手順 [#v3230e25]
-[[nuspecファイルの書き方の例>NuGetパッケージの開発と公開...
-[[NuGetパッケージの作成方法>NuGetパッケージの開発と公開#...
-パッケージ名~
{identifier}.nupkg
**Symbol Packageを利用する方法 [#e3f16568]
NuGetは、Symbol Packageを作成し、~
[[「ソース サーバ」、「シンボル サーバ」>ビルド環境と開発...
***ポイント [#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\...
<file src="Silverlight\bin\Debug\*.pdb" target="lib\...
<file src="**\*.cs" target="src" />
</files>
--nuspecファイルは、Primary PackageとSymbol Packageで共有...
--「src="**\*.cs"」の「**」は、再帰的にフォルダを検索する...
---階層構造がある src でも正しく同梱することが可能。
---必要であれば、[[作成したPackageを解凍して>NuGetパッケ...
-作成方法
--以下のコマンドで、symbolとsrcが除外されたPrimary Packag...
nuget pack [*.nuspecファイルパス] -Symbols
--Primary Packageにもsymbolとsrcを含めたい場合、別途、以...
nuget pack [*.nuspecファイルパス]
-パッケージ名~
{identifier}.symbols.nupkg
***登録 [#h43a29c4]
-概要
--NuGetプロトコルを実装するnuget.exe v4.1.0以上を使用
-操作
--NuGetを使用してAPIキーを保存~
※ APIキーは nuget.org より入手できる。
nuget SetApiKey [Your-API-Key]
--Symbol Packageをプッシュ~
---Primary packageをプッシュした後に、Symbol Packageをプ...
nuget push *.symbols.nupkg
---Sourceオプションを使用して、Symbol Repositoryにプッシュ~
Symbol Packageを別のSymbol Repositoryにプッシュ~
若しくは、命名規則に従わないSymbol PackageをSymbol Reposi...
nuget push *.symbols.nupkg -source https://nuget.smbsrc....
---Primary package、Symbol Packageの両方をプッシュ~
Primary package、Symbol Packageの両方を、同時に両方のRepo...
nuget push *.nupkg
---nuget.exe 4.5.0以降、~
Primary package、Symbol Packageを[-source]を指定して個別...
nuget SetApiKey [Your-API-Key]
nuget push *.nupkg -source https://www.nuget.org/
nuget push *.symbols.nupkg -source https://nuget.smbsrc....
>>※ https://nuget.smbsrc.net/ は、symbolのプッシュURL。
**ハイブリッドな方法 [#k27c219e]
以下の登録手順で、Primary packageのPDBとSymbol Packageを...
***nspecを2つ用意する。 [#ufd51f38]
-Primary package用
<files>
<file src="Full\bin\Debug\*.dll" target="lib\net40" />
<file src="Full\bin\Debug\*.pdb" target="pdb\net40" ...
</files>
-Symbol Package用
<files>
<file src="Full\bin\Debug\*.dll" target="lib\net40" />
<file src="Full\bin\Debug\*.pdb" target="lib\net40" />
<file src="**\*.cs" target="src" />
</files>
※ Primary packageで、pdbの場所を外すのは、~
PDB同梱パターンと、Symbol Packageパターンを切り替え可能...
***其々、Package化する。 [#a95f04b5]
-Primary package用
nuget pack [*.nuspecファイルパス]
-Symbol Package用 ※ Primary packageを上書きするので注意!
nuget pack [*.nuspecファイルパス] -Symbols
※ このため、出力先を分けるといい。
***Push前の確認。 [#j9c50fc8]
必要に応じて、Push前の確認を行う。
-[[*.nupkgを*.zipにリネームして同梱物件を取り出す。>NuGet...
-[[ildasmを使用して*.dllの内容を確認する。>.NETアセンブリ...
***其々、Pushする。 [#f380a707]
-APIキーを保存
nuget SetApiKey [Your-API-Key]
-Primary package用
nuget push *.nupkg -source https://www.nuget.org/
-Symbol Package用
nuget push *.symbols.nupkg -source https://nuget.smbsrc....
※ Symbol PackageフォルダにPrimary packageは不要。
*パッケージのデバッグ [#zd224c6d]
**(Primary packageに)PDBを同梱 [#uce0e316]
-*.pdbファイルが同梱されていれば、そのままデバッグ可能。
-ただし、[[ソースファイルの配置>ビルド環境と開発環境のソ...
**Symbol Packageを利用 [#d56a4093]
-*.pdbファイルとソース ファイルを自動的に取得してソース ...
-ただし、以下の設定が必要になる。
--[[ソース サーバのサポートを有効にする。>ビルド環境と開...
--[[シンボル サーバの場所を追加する。>ビルド環境と開発環...
---基本的に、以下のURLを追加するだけでよい。~
https://nuget.smbsrc.net
---複数のサーバを使用する場合、~
同じバイナリのシンボルが含まれている場合があるため、順序...
>
+http://referencesource.microsoft.com/symbols
+https://nuget.smbsrc.net
+(other symbol servers with sources)
+http://msdl.microsoft.com/download/symbols
+(other symbol servers without sources)
**ハイブリッドな方法の場合のデバッグ方法の切替 [#z89c82cb]
***既定 [#w1f365f8]
-nuget.smbsrc.netのSymbol Packageを利用する。
-[[「ソース サーバ」、「シンボル サーバ」を有効にする>#d5...
***切替 [#kb6995d4]
-Primary packageのPDBに切り替える。
--「ソース サーバ」、「シンボル サーバ」を無効にする。
--[シンボル ファイル (.pdb) の場所]に、Primary packageのP...
--ローカルにファイルを配置する。
-nuget.smbsrc.netのSymbol Packageに戻す。
--再度、[[「ソース サーバ」、「シンボル サーバ」を有効に...
--[シンボル ファイル (.pdb) の場所]に指定した、Primary pa...
--ローカルに配置したファイルを削除する。
*変更 [#h8a8f180]
**Symbolの公開URLの変更 [#ua818059]
最近、Symbolの公開URLが
-http://srv.symbolsource.org/pdb/Public から、
-https://nuget.smbsrc.net に、
変更になったもよう。
-参考
--Moving to the new SymbolSource engine | Marcin Mikołajc...
https://tripleemcoder.com/2015/10/04/moving-to-the-new-sy...
**Symbolの作成・登録と更改URLの変更 [#pdcb0f6f]
-最近、Symbolの作成・登録と更改URLが変更になったもよう。
>[[ハイブリッドな方法>#k27c219e]]で、PDBを避けていた、Pri...
「-SymbolPackageFormat snupkg」オプションを追加するだけで...
PrimaryとSymbolのpackageの両方が生成可能になり、また、~
登録処理をPrimaryとSymbolの2回に分けて実行する必要がなく...
-参考
--The way to generate and register symbol packages~
with NuGet has been changed. · Issue #380 · OpenTouryoPro...
https://github.com/OpenTouryoProject/OpenTouryo/issues/380
--Improved package debugging experience with the NuGet.or...
https://devblogs.microsoft.com/nuget/improved-package-deb...
--新しいシンボル パッケージ形式 '.snupkg' を使用して NuGe...
https://docs.microsoft.com/ja-jp/nuget/create-packages/sy...
*参考 [#w508407e]
**Microsoft Docs [#q57486a9]
-NuGet パッケージの作成方法~
https://docs.microsof.com/ja-jp/nuget/create-packages/cre...
--NuGet パッケージのプレリリース版~
https://docs.microsoft.com/ja-jp/nuget/create-packages/pr...
--NuGet シンボル パッケージの作成方法~
https://docs.microsoft.com/ja-jp/nuget/create-packages/sy...
-NuGet パッケージの公開方法~
https://docs.microsoft.com/ja-jp/nuget/create-packages/pu...
-NuGet Command-Line Interface (CLI) Reference~
https://docs.microsoft.com/en-us/nuget/tools/nuget-exe-cl...
--NuGet CLI pack command~
https://docs.microsoft.com/en-us/nuget/tools/cli-ref-pack
--NuGet CLI push command~
https://docs.microsoft.com/en-us/nuget/tools/cli-ref-push
**デバッグ可能なNuGetパッケージのサンプル [#nacbfc35]
https://github.com/OpenTouryoProject/SampleProgram/tree/m...
**[[ビルド環境と開発環境のソースファイルパスを一致させる...
----
Tags: [[:.NET開発]], [[:デプロイ]], [[:デバッグ]], [[:NuG...
ページ名: