2012-05-11 18 views
0

NuGetはWPF、SL3、SL4、SL5、WP7のMVVMLightバイナリを取得しています 私は本当にそれを好まないです。 プロジェクトが使用しているフレームワークのためだけのものにする方法はありますか?なぜNuGetはMVVMLightをすべてのフレームワークとすべてのプラットフォームで使用していますか?

一般にNuGetは他のパッケージで動作しますが、NuGetパッケージを作成するときにMVVMLightの作成者が行うべきことはありますか?

おかげで、 アンドリュー

答えて

1

それはユニークなパッケージ内の異なるフレームワークのバージョンのライブラリーを含むようにnuget大会です。これにより、パッケージのコンシューマーにとって、インストールするパッケージのバージョンは1つだけになります。

NuGet Package Manager(UIまたはコンソール)を使用してパッケージをインストールする場合、NuGetはプロジェクトのフレームワークをターゲットとするライブラリへの参照のみを追加します。注意:使用されていないライブラリを含め、すべてのパッケージの内容は "\ packages \"に展開されます。

例: 私はSL4アプリケーションを作成し、MVVMLightLibsをインストールしました。 GalaSoft.MvvmLight.Extras.SL4とGalaSoft.MvvmLight.SL4のみが参照として追加されます。

see nuget documentation : Supporting_Multiple_.NET_Framework_Versions_and_Profiles

+0

ご確認いただきありがとうございます。しかし、良いアイデアのように私には聞こえません。独自の依存関係を持つフレームワークを使用しているとします。これらの依存関係の中には、順番に独自の依存関係を持つものなどがあります。私はそれがサポートしているすべてのフレームワークのすべてのライブラリをダウンロードすることが賢明だとは思わない。実際に使用しているライブラリのサイズが10MBの場合、私のディスク上に80MBの容量を持つことになります。 Telerikのような大きなフレームワークのためにNuGetを試したことはありません。 –

+0

NuGetが特定のプラットフォーム\フレームワークを選択できるようにプロジェクトにパッケージを追加する機能をNuGetが提供しないのはなぜですか?これは、プラットフォームとフレームワークを検出するのではなく、NuGetにとって困難な場合があります。 –

+0

明らかに、NuGetは実際にプロジェクトで使用されるフレームワークを検出できます。つまり、パッケージから参照を選択する方法です。それでは、パッケージフォルダを作成するときになぜそれができないのですか?プロジェクトで使用されているフレームワークバージョンの参照のみをそこに置くことができます。私は、プロジェクトが異なるフレームワークを対象にできることを知っています。あなたは多分このことを何とかコントロールするべきでしょう。 –

関連する問題