web-dev-qa-db-fra.com

NuGet: 'X' a déjà une dépendance définie pour 'Y'

Je reçois le message d'erreur suivant dans NuGet lors de l'installation du package 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'.

Comment le résoudre?

PDATE: Je reçois également les informations suivantes:

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

Ce problème a été résolu en installant le dernier gestionnaire de paquets NuGet:

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

N'oubliez pas de redémarrer VisualStudio.

141
TN.

J'ai résolu un problème similaire dans ma solution en:

  1. Ouvrir une invite de commande
  2. Navigation dans le dossier .nuget dans ma solution
  3. En cours d'exécution nuget update -self

Ceci a mis à niveau la copie de NuGet.exe qui était dans ma solution de 2.8.0 à 3.4.4, ce qui a corrigé le 'X' a déjà une dépendance définie pour l'erreur 'Y' qui l'empêchait de télécharger SSH.NET automatiquement avant la construction. .

(Si votre solution ne contient pas une copie de NuGet.exe - et que ce n'est peut-être pas le cas -, vous devriez plutôt essayer la solution dans la réponse de TN)

63
Robyn

J'ai essayé la mise à jour, mais cela n'a pas fonctionné pour moi. Aidé:

  1. désinstaller nuget => Outils> Extensions et mise à jour> Installé
  2. installer une pépite
  3. recharger VS
19
HuckFin.7b

Je recevais ce problème sur notre serveur de génération TeamCity. J'ai essayé de mettre à jour NuGet sur le serveur de compilation (via TC) mais cela n'a pas fonctionné. J'ai finalement résolu le problème en modifiant le "Mode de mise à jour" de l'étape de génération du programme d'installation de Nuget de fichier de solution à packages.config.

5
Stewert

Je recevais le problème 'Newtonsoft.Json' already has a dependency defined for 'Microsoft.CSharp' sur le serveur de compilation TeamCity. J'ai changé le " mode de mise à jour " de l'étape de création du programme d'installation de Nuget à partir de la solution fichier dans packages.config et NuGet.exe vers la dernière version (J'avais 3.5.0) et cela a fonctionné !!

3
szc0025
  1. Allez sur le lien https://www.nuget.org/packages/ClosedXML/0.64.
  2. Rechercher vos paquets de nuget
  3. Voir toutes les versions des packages associés
  4. Installer la version inférieure des packages
2
Rahul

J'ai rencontré cette erreur sur une version obsolète de Visual Studio 2010. En raison de la configuration du projet, je n'ai pas pu mettre à jour cette version. Par conséquent, la mise à jour de NuGet conseillée ci-dessus n'a pas réglé le problème pour moi.

La raison principale de l'erreur dans cette situation et dans d'autres situations similaires réside dans les dépendances du package que vous essayez d'installer, qui ne sont pas compatibles avec la version .NET disponible dans votre projet.

La solution universelle n’est pas une mise à jour obligatoire de Visual Studio ou .NET, mais une installation de versions antérieures de NuGet du même package compatible avec votre système.

Il n'est pas possible de dire avec certitude laquelle des versions précédentes fonctionnera. Dans mon cas, cette commande a installé le paquet sans aucune mise à jour de NuGet.

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

Dans mon cas, j'ai dû supprimer le fichier NuGet.exe dans le dossier du projet /. Nuget et reconstruire le projet.

J'ai aussi dans NuGet.targets le DownloadNuGetExe marqué comme vrai:

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

J'espère que ça aide.

  1. Aller aux outils.
  2. Extensions et mises à jour.
  3. Mettez à jour Nuget et toute autre fonctionnalité importante.
  4. Redémarrer.

Fait.

0
Anshul Rawat

La seule solution qui a fonctionné pour moi a été de désinstaller complètement nuget de Visual Studio 2013, puis de l'installer à nouveau avec le redémarrage obligatoire de VS entre les deux.

0
user7013486