NuGet:「X」にはすでに「Y」に対して定義された依存関係があります


94

パッケージをインストールしようとすると、NuGetで次のエラーが発生します Microsoft.AspNet.Server.IIS

Attempting to resolve dependency 'Microsoft.AspNet.Loader.IIS.Interop (≥ 1.0.0-alpha4-10330)'.
Attempting to resolve dependency 'Microsoft.AspNet.Loader.IIS (≥ 1.0.0-alpha4-10330)'.
'Microsoft.AspNet.Loader.IIS' already has a dependency defined for 'Microsoft.AspNet.FeatureModel'.

それを解決するには?

更新: また、私は以下を取得しています:

Attempting to resolve dependency 'Microsoft.Framework.DependencyInjection (≥ 1.0.0-alpha4-10326)'.
'Microsoft.Framework.DependencyInjection' already has a dependency defined for 'Microsoft.Framework.ConfigurationModel'.

Nugetを最新に更新してみましたか?stackoverflow.com/questions/23286522/…を
jrummell 14

2
@jrummell:2.8.50313.46、現在VS 2013で更新はありません。
TN。

回答:


151

これは、最新のNuGetパッケージマネージャーをインストールすることで解決しました。

https://visualstudiogallery.msdn.microsoft.com/4ec1526c-4a8c-4a84-b702-b21a8f5293ca

Visual Studioを再起動することを忘れないでください。


5
最新のNuget "NuGet Package Manager 2.8.60318.667"を入手しましたが、 "Install-Package: 'System.Collections' has already dependency for defined for 'Microsoft.NETCore.Platforms'"と表示されます。「Install-Package Microsoft.AspNet.WebHooks.Custom.AzureStorage -Pre」をインストールしようとしたとき
Gopi

2
私は@TechJerkと同じ問題を抱えていますが、私の状況では、プロジェクトをnugetパッケージに入れようとしています。ローカルで実行できますが、ビルドサーバーでは実行できません。ビルドサーバーで、「System.Collections」にはすでに「Microsoft.NETCore.Platforms」に対して定義された依存関係があります。NuGetを更新しても効果はありません。
user3841460

これでうまくいきます。私の場合、SQLite-net PCL(Xamarin)をインストールしようとしていました。Visual Studioは2013 Ultimateです。
ramires.cabral

2
@TechJerkと同じ問題が発生していますが、'System.Net.Http' already has a dependency defined for 'System.IO'NuGetを再インストールしてアップグレードしても何の効果もありません(現在バージョン2.8とVisual Studio 2012を使用しています)
Blundering Philosopher

2
TeamCityでこのエラーが発生した場合は、ビルドステップ設定を更新して、入手可能な最新のnugetバージョンを使用する必要がある場合もあります。
Steve Greatrex

74

私は私の解決策で同様の問題を次のように修正しました:

  1. コマンドプロンプトを開く
  2. 私のソリューションの.nugetフォルダーに移動する
  3. ランニング nuget update -self

このアップグレードコピーNuGet.exeそれから、私の解決策だった2.8.03.4.4固定され、「X」すでに構築する前に自動的にSSH.NETをダウンロードするからそれを停止された「Y」のエラーのために定義された依存関係を持っています。

(ソリューションにコピーNuGet.exeがない場合-ない可能性がある場合-代わりに、TNの回答でソリューションを試す必要があります)


これは私のためにそれを修正したものですが、代わりにビルドサーバーで実行しました。失敗したビルドのログには、問題のNuGet.exeへのパスが示されていました。
InteXX 2017年

20

アップデートを試しましたが、うまくいきませんでした。助けた:

  1. NuGetのアンインストール=>ツール=>拡張機能と更新=>インストール済み
  2. NuGetをインストールする
  3. Visual Studioを再読み込み

1
これでうまくいきました。
Naner 2017年

6

Visual Studio 2010の古いバージョンでこのエラーに直面しました。プロジェクトの構成が原因で、このバージョンを新しいバージョンに更新できませんでした。したがって、上記でアドバイスしたNuGetの更新では、問題が解決しませんでした。

この状況および同様の状況でのエラーの根本的な理由は、インストールしようとしているパッケージの依存関係にあります。これは、プロジェクトで使用可能な.NETバージョンと互換性がありません。

ユニバーサルソリューションは、Visual Studioまたは.NETの必須の更新ではなく、システムと互換性のある同じパッケージの古いNuGetバージョンのインストールです。

以前のバージョンのどれが機能するかを確実に判断することはできません。私の場合、このコマンドはNuGetの更新なしでパッケージをインストールしました。

Install-Package X -Version [compatible version number]

5

TeamCityビルドサーバーでこの問題が発生していました。ビルドサーバーで(TCを介して)NuGetを更新しようとしましたが、うまくいきませんでした。Nugetインストーラーのビルドステップの「更新モード」をソリューションファイルからに変更することで、最終的に問題を解決しましたpackages.config


情報をありがとう。同じ問題+ NuGetをデフォルトではなく4.0.0に更新し、失敗したこの1つのビルド構成に対してNuGetをv4に変更すると、うまくいきました!
アンドリューバーネット-トンプソン博士

でもどうやってやるの?
ympostor 2017年

3

'Newtonsoft.Json' already has a dependency defined for 'Microsoft.CSharp'TeamCityビルドサーバーで問題が発生しました。Nugetインストーラーのビルドステップの「更新モード」をソリューションファイルからpackages.configおよびNuGet.exeに最新バージョン(3.5.0がインストールされていた)に変更しました。


どうやってするか??
ympostor 2017年

私はこれとまったく同じ問題を抱えています。
ジェス


[ビルド構成設定]に移動し、[ビルドステップ]で、NuGetインストーラーのステップをランナータイプとして追加します。Nugetインストーラーのビルドステップの「更新モード」をソリューションファイルからpackages.configおよびNuGet.exeに最新バージョンに変更
szc0025

2
  1. リンクhttps://www.nuget.org/packages/ClosedXML/0.64.0に移動します
  2. NuGetパッケージを検索する
  3. 関連パッケージのすべてのバージョンを見る
  4. 下位バージョンのパッケージをインストールする

これは実際には、ビジュアルスタジオのバージョンが低すぎる場合に適したソリューションです。私の場合、NuGetの最新バージョンをサポートしていないVS2012を使用する必要があります。つまり、[NuGetパッケージの管理]ウィンドウから常に最新のパッケージをダウンロードできるとは限りません。
Mixxiphoid

1

私の場合、Projectフォルダー /.nugetにあるファイルNuGet.exeを削除して、プロジェクトを再ビルドする必要がありました。

また、NuGet.targetsには、trueとしてマークされたDownloadNuGetExeがあります。

<DownloadNuGetExe Condition=" '$(DownloadNuGetExe)' == '' ">true</DownloadNuGetExe>

それがお役に立てば幸いです。


0

私のために機能した唯一の解決策は、Visual Studio 2013からnugetを完全にアンインストールしてから、VSを強制的に再起動して再インストールすることでした。


0
  1. ツールに移動します。
  2. 拡張機能と更新。
  3. Nugetおよびその他の重要な機能を更新します。
  4. 再起動。

できました。


0

vs 2010を使用するプロジェクトでは、パッケージマネージャーコンソールを介して必要な古いバージョンのパッケージをインストールすることによってのみ問題を解決できました。

このコマンドは機能しました:

PM> Install-Package EPPlus -Version 4.5.3.1

このコマンドは機能しませんでした:

PM> Install-Package EPPlus -Version 4.5.3.2
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.