NuGet Package Manager: ‘AutoMapper’ ha già una dipendenza definita per ‘Microsoft.CSharp’

Sto cercando di aggiungere AutoMapper come dipendenza a un progetto utilizzando NuGet su Visual Studio Premium 2012, ma non riesce.

Dice:

Operazione fallita
‘AutoMapper’ ha già una dipendenza definita per ‘Microsoft.CSharp’.

Sono in grado di aggiungere altre dipendenze.

Sto usando l’ultima versione del gestore di pacchetti per VS 2012:

NuGet Package Manager 2.8.60318.667

Qualche idea che cosa dovrei controllare?

Il problema è che il Gestore pacchetti NuGet è troppo vecchio. È necessario NuGet 2.12 poiché supporta i framework .NET Framework più recenti utilizzati dal pacchetto NuMet di AutoMapper 5.0.1.

AutoMapper ha una dipendenza di gruppo che specifica un framework di destinazione di .NET Standard. Poiché la versione di NuGet Package Manager è troppo vecchia, non riconosce questo framework di destinazione e lo converte in un framework di destinazione sconosciuto e si finisce con framework duplicati poiché .NETStandard viene utilizzato alcune volte in quel pacchetto NuGet. Ciò causa l’errore:

'AutoMapper' already has a dependency defined for 'Microsoft.CSharp' 

Sfortunatamente NuGet 2.12 non è disponibile per Visual Studio 2012 ma è disponibile per Visual Studio 2013.

Pertanto, è necessario eseguire l’aggiornamento a Visual Studio 2013 o versioni successive oppure utilizzare il pacchetto NuGet di AutoMapper precedente che non supporta .NETStandard.

Sembra essere un problema con la versione corrente di automapper:

AutoMapper 5.0.0 martedì 28 giugno 2016

Ho provato con la versione precedente e funziona:

 PM> Install-Package AutoMapper -Verbose Install-Package : 'AutoMapper' already has a dependency defined for 'Microsoft.CSharp'. At line:1 char:16 + Install-Package <<<< AutoMapper -Verbose + CategoryInfo : NotSpecified: (:) [Install-Package], InvalidOperationException + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand PM> Install-Package AutoMapper -Version 4.2.1 Installing 'AutoMapper 4.2.1'. Successfully installed 'AutoMapper 4.2.1'. 

Pertanto, se non è ansible aggiornare NuGet Package Manager, la risposta è:

 PM> Install-Package AutoMapper -Version 4.2.1 

Alla fine ho dovuto aggiornare NuGet.exe incluso nella soluzione per poter creare pacchetti NuGet eseguendo:

nuget.exe update -self

Ho avuto lo stesso problema su VS2013. Ho dovuto aggiornare a VS2013 Update 5 e ottenere l’ultima distribuzione di nuget per VS2013 su https://dist.nuget.org/visualstudio-2013-vsix/v2.12.0/NuGet.Tools.vsix

una volta che è stato fatto sono stato in grado di utilizzare il pacchetto di Automapper 5.0.2

Vai a Visual Studio> Strumenti> Estensione e aggiornamenti

Trova aggiornamenti nel menu a sinistra della fisarmonica, vai a Visual Studio Gallery.

Troverai un aggiornamento per Nuget.

Aggiorna il pacchetto nuget e prova a installare o ad accumulare il progetto.

Grazie, GT

Un’altra soluzione alternativa se sei bloccato con VS2012 e la vecchia versione di Nuget:

  • Trova la cartella Cache di VS 2012 Nuget Package Manager (con ToolsOptionsNuget Package Manager )
  • Apri AutoMapper.5.xxnupkg con il tuo strumento Zip preferito
  • Modifica il file AutoMapper.nuspec – Ho semplicemente cancellato tutte le dipendenze eccetto .NETFramework4.5
  • Aggiungi la cartella cache come sorgente Nuget (anche in ToolsOptionsNuget Package Manager )
  • Installa Automapper con la console o la GUI, ma assicurati di scegliere prima la cartella cache appena aggiunta come sorgente del pacchetto.

Ovviamente, anche la prossima versione di Automapper deve essere adattata per installarla.

Sembra una discrepanza tra la versione .NET utilizzata dal pacchetto Automapper e il tuo progetto. Puoi confermare la versione .NET che sta usando il tuo progetto?

Automapper 6.0.2 – nuget 2.8.8 fornisce questo errore. Necessario aggiornare a 3.4.4 per farlo funzionare.

Rimosso sia CSharp che AutoMapper. Installato CSharp (4.0.0.0) e poi aggiunto Automapper (6.1.1.0). Questo ha risolto il problema per me.

Ho osservato questo esatto problema all’apertura di un progetto con Visual Studio 2010.

Dopo l’apertura con VS2017, sono stato in grado di installare AutoMapper senza errori.