NuGet: "X" ha già una dipendenza definita per "Y"


94

Ricevo il seguente errore in NuGet durante il tentativo di installazione del pacchetto 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'.

Come risolverlo?

AGGIORNAMENTO: Inoltre, sto ottenendo quanto segue:

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

Hai provato ad aggiornare Nuget all'ultimo? Vedere stackoverflow.com/questions/23286522/...
jrummell

2
@jrummell Ho: 2.8.50313.46, nessun aggiornamento in VS 2013 attualmente.
TN.

Risposte:


151

Questo problema è stato risolto installando l'ultimo NuGet Package Manager:

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

Non dimenticare di riavviare Visual Studio.


5
Ho l'ultimo Nuget "NuGet Package Manager 2.8.60318.667" ma ottengo "Install-Package: 'System.Collections' ha già una dipendenza definita per 'Microsoft.NETCore.Platforms'". quando si tenta di installare "Install-Package Microsoft.AspNet.WebHooks.Custom.AzureStorage -Pre"
Gopi

2
Ho lo stesso problema di @TechJerk, nella mia situazione sto cercando di inserire un progetto in un pacchetto nuget. Posso farlo localmente ma non sul server di compilazione. Sul server di compilazione ottengo "System.Collections" che ha già una dipendenza definita per "Microsoft.NETCore.Platforms". L'aggiornamento di NuGet non ha avuto alcun effetto.
user3841460

Questo funziona per me. Nel mio caso stavo cercando di installare SQLite-net PCL (Xamarin). Visual Studio è 2013 Ultimate.
ramires.cabral

2
Ho lo stesso problema di @TechJerk ma con 'System.Net.Http' already has a dependency defined for 'System.IO'- Ho provato a reinstallare e aggiornare NuGet senza alcun effetto (attualmente sto usando la versione 2.8 ... e Visual Studio 2012)
Blundering Philosopher

2
Se ricevi questo errore in TeamCity, potresti anche dover aggiornare le impostazioni della fase di compilazione per utilizzare l'ultima versione di nuget disponibile.
Steve Greatrex

74

Ho risolto un problema simile nella mia soluzione:

  1. Apertura di un prompt dei comandi
  2. Navigando alla cartella .nuget nella mia soluzione
  3. In esecuzione nuget update -self

Questo ha aggiornato la copia di NuGet.exequella era nella mia soluzione da 2.8.0a 3.4.4, che ha corretto la "X" ha già una dipendenza definita per l'errore "Y" che gli impediva di scaricare SSH.NET automaticamente prima della creazione.

(Se la tua soluzione non contiene una copia NuGet.exe- e potrebbe non - allora dovresti provare la soluzione nella risposta di TN)


Questo è quello che lo ha risolto per me, ma l'ho eseguito invece sul server di compilazione. I log per la compilazione non riuscita indicavano il percorso di NuGet.exe in questione.
InteXX

20

Ho provato l'aggiornamento, ma non ha funzionato per me. Aiutato:

  1. Disinstalla NuGet => Strumenti => Estensioni e aggiorna => Installato
  2. Installa NuGet
  3. Ricarica Visual Studio

1
Questo ha fatto per me.
Naner

6

Ho riscontrato questo errore sulla versione obsoleta di Visual Studio 2010. A causa della configurazione del progetto non sono stato in grado di aggiornare questa versione a una più recente. Pertanto, l'aggiornamento di NuGet consigliato sopra non ha risolto le cose per me.

Il motivo principale dell'errore in questa e in situazioni simili è nelle dipendenze del pacchetto che si tenta di installare, che non sono compatibili con la versione .NET disponibile nel progetto.

La soluzione universale non è l'aggiornamento obbligatorio di Visual Studio o .NET ma nell'installazione di versioni precedenti di NuGet dello stesso pacchetto compatibili con il sistema.

Non è possibile stabilire con certezza quale delle versioni precedenti funzionerà. Nel mio caso, questo comando ha installato il pacchetto senza aggiornamenti NuGet.

Install-Package X -Version [compatible version number]

5

Stavo riscontrando questo problema sul nostro server di build TeamCity. Ho provato ad aggiornare NuGet sul server di compilazione (tramite TC) ma non ha funzionato. Alla fine ho risolto il problema modificando la "Modalità di aggiornamento" del passaggio di compilazione del programma di installazione di Nuget dal file della soluzione a packages.config.


Grazie per le informazioni. Ho avuto lo stesso problema + l'aggiornamento di NuGet a 4.0.0 / non come predefinito e la modifica di NuGet in v4 per questa configurazione di build che non funzionava ha funzionato!
Dr. Andrew Burnett-Thompson

ma come si fa?
ympostor

3

Stavo 'Newtonsoft.Json' already has a dependency defined for 'Microsoft.CSharp'riscontrando il problema sul server di build di TeamCity. Ho cambiato la " modalità di aggiornamento " del passaggio di compilazione del programma di installazione di Nuget dal file della soluzione a packages.config e NuGet.exe all'ultima versione (avevo 3.5.0) e ha funzionato !!


come farlo??
ympostor

Sto ricevendo lo stesso problema ESATTO.
Jess


Vai a Impostazioni di configurazione della build, in Passaggi di compilazione, Aggiungi un passaggio per NuGet Installer come tipo Runner. modificare la "Modalità di aggiornamento" del passaggio di compilazione del programma di installazione di Nuget dal file della soluzione a packages.config e NuGet.exe alla versione più recente
szc0025

2
  1. Vai al collegamento https://www.nuget.org/packages/ClosedXML/0.64.0
  2. Cerca i tuoi pacchetti NuGet
  3. Visualizza tutte le versioni dei pacchetti correlati
  4. Installa la versione inferiore dei pacchetti

Questa è in realtà una buona soluzione nel caso in cui la versione dello studio visivo sia troppo bassa. Nel mio caso devo lavorare con VS2012, che non supporta la versione più recente di NuGet. Ciò significa automaticamente che non è sempre possibile scaricare i pacchetti più recenti tramite la finestra Gestisci pacchetti NuGet.
Mixxiphoid

1

Nel mio caso ho dovuto eliminare il file NuGet.exe nella cartella del progetto /.nuget e ricostruire il progetto.

Ho anche in NuGet.targets DownloadNuGetExe contrassegnato come true:

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

Spero sia d'aiuto.


0

L'unica soluzione che ha funzionato per me è stata quella di disinstallare completamente nuget da Visual Studio 2013 e quindi installarlo di nuovo con il riavvio obbligatorio di VS in mezzo.


0
  1. Vai a Strumenti.
  2. Estensioni e aggiornamenti.
  3. Aggiorna Nuget e qualsiasi altra caratteristica importante.
  4. Ricomincia.

Fatto.


0

In un progetto che utilizzava vs 2010, sono stato in grado di risolvere il problema solo installando una versione precedente del pacchetto di cui avevo bisogno tramite la console di Gestione pacchetti.

Questo comando ha funzionato:

PM> Install-Package EPPlus -Version 4.5.3.1

Questo comando non ha funzionato:

PM> Install-Package EPPlus -Version 4.5.3.2
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.