Ich versuche, AutoMapper als Abhängigkeit zu einem Projekt mit NuGet unter Visual Studio Premium 2012 hinzuzufügen, aber es schlägt fehl.
Es sagt:
Operation fehlgeschlagen
'AutoMapper' hat bereits eine Abhängigkeit für 'Microsoft.CSharp' definiert.
Ich kann andere Abhängigkeiten hinzufügen.
Ich verwende die letzte Version des Paketmanagers für VS 2012:
NuGet Package Manager 2.8.60318.667
Irgendwelche Ideen, was soll ich überprüfen?
c#
visual-studio-2012
nuget
automapper
pomber
quelle
quelle
Antworten:
Das Problem ist, dass Ihr NuGet Package Manager zu alt ist. Sie benötigen NuGet 2.12, da dies die neueren .NETStandard-Frameworks unterstützt, die das AutoMapper 5.0.1 NuGet-Paket verwendet.
Der AutoMapper verfügt über eine Gruppenabhängigkeit, die ein Zielframework von .NETStandard angibt. Da Ihre Version von NuGet Package Manager zu alt ist, erkennt sie dieses Zielframework nicht und konvertiert es in ein unbekanntes Zielframework. Sie erhalten doppelte Frameworks, da .NETStandard in diesem NuGet-Paket einige Male verwendet wird. Dies verursacht den Fehler:
'AutoMapper' already has a dependency defined for 'Microsoft.CSharp'
Leider ist NuGet 2.12 nicht für Visual Studio 2012 verfügbar, aber für Visual Studio 2013.
Entweder müssen Sie auf Visual Studio 2013 oder höher aktualisieren, oder Sie müssen das ältere AutoMapper NuGet-Paket verwenden, das .NETStandard nicht unterstützt.
quelle
Scheint ein Problem mit der aktuellen Version von Automapper zu sein:
Ich habe es mit der vorherigen Version versucht und es funktioniert:
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'.
Wenn Sie NuGet Package Manager nicht aktualisieren können, lautet die Antwort:
PM> Install-Package AutoMapper -Version 4.2.1
quelle
Am Ende musste ich NuGet.exe aktualisieren, das in der Lösung enthalten war, um NuGet-Pakete erstellen zu können, indem ich Folgendes ausführte:
nuget.exe update -self
quelle
Ich hatte das gleiche Problem auf VS2013. Ich musste auf VS2013 Update 5 aktualisieren und die neueste Nuget-Distribution für VS2013 unter https://dist.nuget.org/visualstudio-2013-vsix/v2.12.0/NuGet.Tools.vsix herunterladen
Danach habe ich Visual Studio neu gestartet. Danach konnte ich das Automapper 5.0.2-Paket verwenden
quelle
Gehen Sie zu Visual Studio> Extras> Erweiterung und Updates
Suchen Sie nach Updates im linken Akkordeonmenü. Gehen Sie zur Visual Studio-Galerie.
Sie finden ein Update für Nuget.
Aktualisieren Sie das Nuget-Paket und versuchen Sie, das Projekt zu installieren oder zu erstellen.
Danke, GT
quelle
Eine andere Problemumgehung, wenn Sie mit VS2012 und der alten Nuget-Version nicht weiterkommen:
Tools
-Options
-Nuget Package Manager
).AutoMapper.5.x.x.nupkg
mit Ihrem bevorzugten Zip-ToolAutoMapper.nuspec
- Ich habe einfach alle Abhängigkeiten außer gelöscht.NETFramework4.5
Tools
-Options
-Nuget Package Manager
)Natürlich muss wahrscheinlich auch die nächste Version von Automapper angepasst werden, um sie zu installieren.
quelle
Dies scheint eine Nichtübereinstimmung zwischen der vom Automapper-Paket verwendeten .NET-Version und Ihrem Projekt zu sein. Können Sie die von Ihrem Projekt verwendete .NET-Version bestätigen?
quelle
Automapper 6.0.2 - Nuget 2.8.8 gibt diesen Fehler aus. Muss auf 3.4.4 aktualisiert werden, damit dies funktioniert.
quelle
Sowohl CSharp als auch AutoMapper wurden entfernt. Installierte zuerst CSharp (4.0.0.0) und fügte dann Automapper (6.1.1.0) hinzu. Dies löste das Problem für mich.
quelle
Ich habe genau dieses Problem beim Öffnen eines Projekts mit Visual Studio 2010 beobachtet.
Nach dem Öffnen mit VS2017 konnte ich AutoMapper ohne Fehler installieren.
quelle