web-dev-qa-db-ja.com

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

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

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'.

解決方法

PDATE:また、私は次を取得しています:

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

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

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

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

138
TN.

ソリューションで同様の問題を修正しました:

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

これにより、ソリューションに含まれていたNuGet.exeのコピーが2.8.0から3.4.4にアップグレードされ、ビルド前にSSH.NETの自動ダウンロードを停止していた 'X'の依存関係が 'Y'エラーに対して既に定義されている問題が修正されました。

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

63
Robyn

更新を試みましたが、うまくいきませんでした。助けた:

  1. nugetのアンインストール=>ツール>拡張機能と更新>インストール済み
  2. nugetをインストール
  3. リロードVS
18
HuckFin.7b

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

5
Stewert

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

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

古いバージョンのVisual Studio 2010でこのエラーが発生しました。プロジェクトの構成により、このバージョンを新しいバージョンに更新することはできませんでした。したがって、上記のNuGetの更新では問題が解決しませんでした。

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

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

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

Install-Package X -Version [compatible version number]
2
Boris Zinchenko

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

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

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

役に立てば幸いです。

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

完了

0
Anshul Rawat

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

0
user7013486