2016-03-21 22 views
1

現在、私は作成したASP.NET MVCプロジェクト(ライブラリと呼ぶ)からNuGetパッケージを作成しようとしています。これは他のASP.NET MVCプロジェクトのベースとして機能するはずです。私のNuGetパッケージは、参照されているNuGetパッケージを依存関係として追加しないのはなぜですか?

NuGetには、「ライブラリ」プロジェクトのNuGet参照の一部しか含まれていません。特に、ASP.NET MVC NuGetパッケージが欠落しているようです。

これは私の「ライブラリ」プロジェクト内のパッケージのリストです: NuGet packages in "Library" project

そして、これは、NuGetパッケージ用に作成された依存関係である: NuGet dependencies

誰が、なぜ、ブートストラップアイディア、マイクロソフトを持っています。 AspNet.Mvcなどは含まれていませんか?

+0

'.nuspec'ファイルに[依存関係を指定](https://docs.nuget.org/create/nuspec-reference#specifying-dependencies)しましたか? – NightOwl888

+0

いいえ、私はしませんでした。依存関係を自動的に検出する必要があります(そのほとんどはすでに存在しているため)。 – chrischu

+0

パッケージをどのように作成していますか? NuGetパックを使用していますか?パッケージマネージャコンソールの使用 – NightOwl888

答えて

2

私はNuGet.exeをデバッグして、なぜこれが起こるのかを知りました。明らかに、NuGetはすべての依存関係をとるのではなく、最小限の設定しか取らないようです。この最小限のセットは、トップレベルパッケージ(プロジェクト内の別のパッケージから参照されていないパッケージ)のみで構成されています。

したがって、Autofac.Mvc5パッケージはMicrosoft.AspNet.Mvcに依存し、したがってAutofac.Mvc5のみが依存として使用されます。

+0

ありがとうございます。だから、実際、すべてが完璧なのですか? –

+1

さて、私は完璧とは言えませんが(詳細はhttps://github.com/NuGet/Home/issues/2376を参照してください)、少なくとも私はなぜ今起きているのか知っています:)。 – chrischu

+0

あなたは完璧から遠い、絶対に正しいです! –

関連する問題