J’essaie d’append AutoMapper comme dépendance à un projet utilisant NuGet sur Visual Studio Premium 2012, mais cela échoue.
Ça dit:
L’opération a échoué
“AutoMapper” a déjà une dépendance définie pour “Microsoft.CSharp”.
Je suis capable d’append d’autres dépendances.
J’utilise la dernière version du gestionnaire de paquets pour VS 2012:
NuGet Package Manager 2.8.60318.667
Des idées que dois-je vérifier?
Le problème est que votre gestionnaire de paquets NuGet est trop vieux. Vous avez besoin de NuGet 2.12 car cela prend en charge les nouveaux frameworks .NETStandard que le package AutoMapper 5.0.1 NuGet utilise.
L’AutoMapper a une dépendance de groupe qui spécifie un cadre cible de .NETStandard. Comme votre version de NuGet Package Manager est trop ancienne, elle ne reconnaît pas ce framework cible et le convertit en framework cible inconnu. Vous vous retrouvez avec des frameworks dupliqués car .NETStandard est utilisé plusieurs fois dans ce package NuGet. Cela provoque l’erreur:
'AutoMapper' already has a dependency defined for 'Microsoft.CSharp'
Malheureusement, NuGet 2.12 n’est pas disponible pour Visual Studio 2012 mais est disponible pour Visual Studio 2013.
Vous devez donc soit mettre à jour vers Visual Studio 2013 ou une version ultérieure, soit utiliser l’ancien package AutoMapper NuGet qui ne prend pas en charge .NETStandard.
Semble être un problème avec la version actuelle d’Automapper:
AutoMapper 5.0.0 mardi 28 juin 2016
J’ai essayé avec la version précédente et ça marche:
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'.
Donc, si vous ne pouvez pas mettre à jour NuGet Package Manager, la réponse est la suivante:
PM> Install-Package AutoMapper -Version 4.2.1
J’ai fini par devoir mettre à jour NuGet.exe qui était inclus dans la solution pour pouvoir construire des paquets NuGet en exécutant:
nuget.exe update -self
J’ai eu le même problème sur VS2013. J’ai dû mettre à jour vers VS2013 Update 5 et obtenir la dernière dissortingbution de nuget pour VS2013 sur https://dist.nuget.org/visualstudio-2013-vsix/v2.12.0/NuGet.Tools.vsix
une fois cela fait, j’ai pu utiliser le package Automapper 5.0.2
Accédez à Visual Studio> Outils> Extension et mises à jour
Rechercher les mises à jour dans le menu de gauche de l’accordéon, accédez à Visual Studio Gallery.
Vous trouverez une mise à jour pour Nuget.
Mettez à jour le package nuget et essayez d’installer ou de construire le projet.
Merci, GT
Une autre solution si vous êtes coincé avec VS2012 et l’ancienne version de Nuget:
Tools
– Options
– Nuget Package Manager
) AutoMapper.5.xxnupkg
avec votre outil Zip préféré AutoMapper.nuspec
– J’ai simplement supprimé toutes les dépendances à l’exception de .NETFramework4.5
Tools
– Options
– Nuget Package Manager
) Bien entendu, la prochaine version d’Automapper devra probablement être adaptée pour pouvoir l’installer.
Cela ressemble à une incohérence entre la version .NET utilisée par le package Automapper et votre projet. Pouvez-vous confirmer la version .NET utilisée par votre projet?
Automapper 6.0.2 – nuget 2.8.8 donne cette erreur. Nécessaire de mettre à jour à 3.4.4 pour que cela fonctionne.
Supprimé à la fois CSharp et AutoMapper. Installé CSharp (4.0.0.0) d’abord, puis ajouté Automapper (6.1.1.0). Cela a résolu le problème pour moi.
J’ai observé ce problème précis lors de l’ouverture d’un projet avec Visual Studio 2010.
Après avoir ouvert avec VS2017, j’ai pu installer AutoMapper sans aucune erreur.