- 追加された行はこの色です。
- 削除された行はこの色です。
「[[Open棟梁 wiki>https://opentouryo.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。
-[[戻る>NuGet対応]]
-[[戻る>NuGet導入、NuGet登録]]
--[[NuGetパッケージの作成手順]]
--[[NuGet導入後のデバッグ方法]]
--NuGetの依存関係パッケージのポリシー
--[[NuGetからローカルに切り替える。]]
*目次 [#h1b82de1]
#contents
*概要 [#v6adba39]
NuGetの依存関係パッケージのポリシーについてまとめておく。
*内容 [#te23842d]
-サプライサイドで設定~
dependenciesへの記載の方法
-デマンドサイドが調整~
どのレイヤで参照を追加しておくか?~
(ベースクラス1,2、サブ・クラス)
*本体側 [#t10d9fd6]
https://github.com/OpenTouryoProject/OpenTouryo/
**[[ベースクラス1]](ライブラリ・フレームワーク) [#ye0ca7cd]
必要な依存関係パッケージは、nuspecファイルのdependenciesに記述する。
-サプライサイドで設定
-全ての依存関係パッケージを記述しておく。
-[[ベースクラス1]](ライブラリ・フレームワーク)で必要となる~
依存関係パッケージは、nuspecファイルのdependenciesに記述する。
-機能によって使用しない依存関係パッケージは、~
エンドユーザの判断で、手動で削除できるようにする。
--全ての依存関係パッケージを記述しておく。
**[[ベースクラス2]](カスタマイズ可能レイヤ) [#q2ca180b]
-[[ベースクラス2]](カスタマイズ可能レイヤ)で、~
上記の[[ベースクラス1(ライブラリ・フレームワーク)>#ye0ca7cd]]を依存関係パッケージに追加した場合、~
必要(依存関係パッケージの利用確度)に応じて、依存関係パッケージを削除する。
--機能によって使用しない依存関係パッケージは、~
エンドユーザの判断で、手動で削除できる。
-例えば、[[ベースクラス2]](カスタマイズ可能レイヤ)に、各データ・プロバイダに対応した~
複数の「データアクセス・ライブラリ」の依存関係パッケージを追加した場合、~
多くのプロジェクトでは、データ・プロバイダが1つに絞られるため、~
[[ベースクラス2]](カスタマイズ可能レイヤ)からは、依存関係を削除しておき、~
利用する依存関係パッケージを「[[テンプレート側で判断・決定して追加する>#ac78fb6c]]」。
**[[ベースクラス2]](カスタマイズ可能レイヤ) [#o0bb5329]
**テンプレート [#oedca070]
***方針 [#fe661fc9]
-デマンドサイドが調整
***テンプレート側で追加する。 [#ac78fb6c]
-最終的に、テンプレート側で、依存関係パッケージの利用を判断・決定する。
-[[ベースクラス2]](カスタマイズ可能レイヤ)側で、~
主要なテスト対象の依存関係パッケージの利用を判断・決定する。
-前述の例では、プロジェクトで使用する「データアクセス・ライブラリ」で使用する~
データ・プロバイダをテンプレート側で依存関係パッケージとして追加する。
***[[NuGetをサマるプロジェクトを作成>https://techinfoofmicrosofttech.osscons.jp/index.php?NuGet%E3%81%A7%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E3%81%A8%E4%BE%9D%E5%AD%98%E9%96%A2%E4%BF%82%E3%81%8C%E5%A2%97%E3%81%88%E3%81%99%E3%81%8E%E3%82%8B%E5%95%8F%E9%A1%8C#a24c08c0]] [#h8547787]
Business名前空間のプロジェクトがコレに該当する。
**テスト用Sample(Tools、Samplesフォルダ) [#e629b62c]
-デマンドサイドが調整する。
-Tools、Samplesフォルダのプロジェクトで、~
下記の依存関係パッケージを最終調整する。
--[[ベースクラス1]]の依存関係パッケージ
--[[ベースクラス2]]の依存関係パッケージ
--アプリケーションの依存関係パッケージ
***.NET Framework (package.config) [#s65db081]
ビルド・プロセス中で吸い上げられるので、~
直接的に参照設定する以外の依存関係パッケージも吸い上げる。
***.NET Core (PackageReference) [#yfd4c990]
ビルド・プロセス中で吸い上げられないので、~
直接的に参照する以外の依存関係パッケージは、別途、参照設定で参照する。
*プロジェクト・テンプレート側 [#te23842d]
https://github.com/OpenTouryoProject/OpenTouryoTemplates/
≒ [[テスト用Sample(Tools、Samplesフォルダ)>#e629b62c]]