「[[Open棟梁 wiki>https://opentouryo.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>NuGet対応]]

*目次 [#h1b82de1]
#contents

*概要 [#v6adba39]
NuGetの依存関係パッケージのポリシーについてまとめておく。

*内容 [#te23842d]
**[[ベースクラス1]](ライブラリ・フレームワーク) [#ye0ca7cd]
必要な依存関係パッケージは、nuspecファイルのdependenciesに記述する。
[[ベースクラス1]](ライブラリ・フレームワーク)で必要となる~
依存関係パッケージは、nuspecファイルのdependenciesに記述する。

-全ての依存関係パッケージを記述しておく。

-機能によって使用しない依存関係パッケージは、~
エンドユーザの判断で、手動で削除できるようにする。

**[[ベースクラス2]](カスタマイズ可能レイヤ) [#q2ca180b]
-[[ベースクラス2]](カスタマイズ可能レイヤ)で、~
上記の[[ベースクラス1(ライブラリ・フレームワーク)>#ye0ca7cd]]を依存関係パッケージに追加した場合、~
必要(依存関係パッケージの利用確度)に応じて、依存関係パッケージを削除する。

-例えば、[[ベースクラス2]](カスタマイズ可能レイヤ)に、各データ・プロバイダに対応した~
複数の「データアクセス・ライブラリ」の依存関係パッケージを追加した場合、~
多くのプロジェクトでは、データ・プロバイダが1つに絞られるため、~
[[ベースクラス2]](カスタマイズ可能レイヤ)からは、依存関係を削除しておき、~
利用する依存関係パッケージを「[[テンプレート側で判断・決定して追加する>#ac78fb6c]]」。
利用する依存関係パッケージを「[[プロジェクト・テンプレート側で判断・決定して追加する>#ac78fb6c]]」。

**テンプレート [#oedca070]
**プロジェクト・テンプレート [#oedca070]

***テンプレート側で追加する。 [#ac78fb6c]
-最終的に、テンプレート側で、依存関係パッケージの利用を判断・決定する。
***プロジェクト・テンプレート側で追加する。 [#ac78fb6c]
-最終的に、プロジェクト・テンプレート側で、依存関係パッケージの利用を判断・決定する。

-前述の例では、プロジェクトで使用する「データアクセス・ライブラリ」で使用する~
データ・プロバイダをテンプレート側で依存関係パッケージとして追加する。
-[[前述の例>#q2ca180b]]では、~
データ・プロバイダ(データアクセス・ライブラリの依存関係パッケージ)を、~
プロジェクト・テンプレート側で判断・決定して依存関係パッケージとして追加する。


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS