2016-09-15 25 views
3

VS 2015アップデート3(およびNuget 3.4.4)をインストールした後、4.6.1プロジェクトにインストールされる依存関係が増えた私は.NETStandard 1.4に依存して何かをインポートします。Nuget 3.4.4プロジェクトターゲティング用のNET標準1.4ライブラリをダウンロード.NET Framework 4.6.1

.NET Framework 4.6.1では.NET Standard 1.4が実装されているため、なぜNugetはそれぞれSystem.Xアセンブリをインポートしていますか?ターゲットフレームワークがすでに必要としていることを知ってはいけませんか?私が見て(約混乱し)んだものを再現する

ステップ:

  1. VS 2015 Update 3に、3.5-RC1にnugetアップグレード(しかし、あなたがする必要はありません)。それは(私のターゲットフレームワークを実装).NET標準1.4
  2. お知らせSystem.XSystem.IOSystem.Collectionsに依存しているインストール・パッケージをMicrosoft.IdentityModel.Clients.ActiveDirectory
  3. お知らせ
  4. 新しいコンソールアプリケーションのターゲットの.NET Framework 4.6.1
  5. System.Linqなど)が含まれます。それは必要ではないようで、私がナゲットを更新する前に起こっていなかった。
+0

これらの余分な依存関係は何ですか?この問題を抱えている特定のパッケージを教えてください。そうすれば、この問題を私たちの側で確認することができます。さらに、VS2015 Update 3のNuGetの最新バージョンはバージョン3.5です。この問題がまだ存在するかどうかを確認するには、バージョン3.5にアップグレードしてください。 –

+2

VS 2015 Update 3は3.5ではなくNuget 3.4.4をインストールします。 Nuget 3.5はまだRCにありますが、上記の問題がまだあります。 VS Update 3をインストールする前に、Microsoft.IdentityModel.Clients.ActiveDirectory Nugetパッケージを追加するときに、追加のコアライブラリが依存関係チェインに含まれていませんでした。 Update 3をインストールすると、コアライブラリが依存関係チェインに追加され始めました。私はNuget 3.5 RCをインストールし、同じ問題があります。 .Net 4.6.1を対象とした.NET標準1.4ライブラリを追加すると、コアライブラリが依存関係に含まれるのはなぜですか? –

+0

誰も説明できない場合は、ナゲットに問題として提出する必要があるようです。私はもう二日間それを与えるでしょう。多分私は何かを逃しています。 – Kevin

答えて

0

私は私のVisual Studio 2015 Update 3の中でバージョン3.3に私のNuGetパッケージマネージャをダウングレードした後、私は私のプロジェクトでMicrosoft.IdentityModel.Clients.ActiveDirectoryパッケージをインストールするときに、への依存関係が追加されないました私のプロジェクト。したがって、この問題はNuGetバージョンに起因します。

release note for NuGet 3.4によると、「netstandardおよびnetstandardappフレームワークモニカのサポート」が開始されます。これは、NuGet 3.4スタートが.NET Standardおよび.NET Standard Framework関連のアプリケーションをサポートしていることを意味します。

同じパッケージのNuGet 3.3およびNuGet 3.4以降のバージョンの依存関係を比較してください。バージョン3.4より前は「サポートされていません」と表示されますが、バージョン3.4からは「.NET標準、バージョン1.4」が表示されます。このため、NuGet 3.4.4をインストールすると、すべての依存関係がプロジェクトに追加されます。 enter image description here

+0

これは依然として.Net 4.6.1を対象とする私のプロジェクトにコア依存関係が含まれている理由の質問には答えません。私のプロジェクトが完全なフレームワークをターゲットにしているのなら、なぜSystem.CollectionsやSystem.IOなどのコアライブラリを含める必要がありますか? –

+1

依存関係とは、現在のパッケージにプロジェクトのこれらのバージョンの依存関係が必要であることを意味します。依存関係パッケージの一覧に表示されていても、プロジェクト参照にすべてのパッケージがインストールされるわけではありません。 .NET 4.6.1プロジェクトは.NET標準1.4を実装しているためです。インストール後、プロジェクトの参照を確認してください。System.CollectionsとSystem.IOが追加されていません。参照に追加されたプロジェクトに含まれていないDLLだけが見つかります。 –

+0

それは興味深いです(そして、これはNugetが典型的に過去に行動した方法ではないので混乱します)。 System。*の依存関係は、私のプロジェクトのためのNuget Package Managerにありますが、あなたが述べたように、プロジェクト参照や私のbinフォルダにはありません。 –

関連する問題