c# - protobuf - NuGet Package Manager: ''AutoMapper'' ya tiene una dependencia definida para ''Microsoft.CSharp''
mysql data already has a dependency defined for google protobuf (10)
Automapper 6.0.2 - nuget 2.8.8 da este error. Necesario actualizar a 3.4.4 para que esto funcione.
Estoy tratando de agregar AutoMapper como una dependencia a un proyecto usando NuGet en Visual Studio Premium 2012, pero falla.
Dice:
Operación fallida
''AutoMapper'' ya tiene una dependencia definida para ''Microsoft.CSharp''.
Puedo agregar otras dependencias.
Estoy usando la última versión del administrador de paquetes para VS 2012:
NuGet Package Manager 2.8.60318.667
¿Alguna idea de lo que debo verificar?
El problema es que su NuGet Package Manager es demasiado viejo. Necesita NuGet 2.12 ya que esto es compatible con los marcos de trabajo .NETStandard más nuevos que utiliza el paquete AutoMapper 5.0.1 NuGet.
AutoMapper tiene una dependencia de grupo que especifica un marco de destino de .NETStandard. Dado que su versión de NuGet Package Manager es demasiado antigua, no reconoce este marco de destino y lo convierte en un marco de destino desconocido y termina con marcos duplicados ya que .NETStandard se usa varias veces en ese paquete de NuGet. Esto causa el error:
''AutoMapper'' already has a dependency defined for ''Microsoft.CSharp''
Lamentablemente, NuGet 2.12 no está disponible para Visual Studio 2012, pero está disponible para Visual Studio 2013.
Por lo tanto, debe actualizar a Visual Studio 2013 o superior, o deberá usar el paquete anterior de AutoMapper NuGet que no es compatible con .NETStandard.
Esto parece una falta de coincidencia entre la versión .NET utilizada por el paquete Automapper y su proyecto. ¿Puede confirmar la versión .NET que está utilizando su proyecto?
Observé este problema exacto al abrir un proyecto con Visual Studio 2010.
Después de abrir con VS2017, pude instalar AutoMapper sin ningún error.
Otra solución alternativa si está atascado con VS2012 y la versión anterior de Nuget:
-
Encuentre la carpeta de caché de Nuget Package Manager de VS 2012 (con
Tools
-Options
-Nuget Package Manager
) -
Abra
AutoMapper.5.xxnupkg
con su herramienta Zip favorita -
Modifique el archivo
AutoMapper.nuspec
: simplemente.NETFramework4.5
todas las dependencias excepto.NETFramework4.5
-
Agregue la carpeta de caché como fuente Nuget (también en
Tools
-Options
-Nuget Package Manager
) - Instale Automapper con la consola o la GUI, pero asegúrese de elegir primero la carpeta de caché recién agregada como fuente del paquete.
Por supuesto, la próxima versión de Automapper probablemente también necesite ser adaptada para poder instalarla.
Parece ser un problema con la versión actual de automapper:
AutoMapper 5.0.0 martes, 28 de junio de 2016
Intenté con la versión anterior y funciona:
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''.
Entonces, si no puede actualizar NuGet Package Manager, la respuesta es:
PM> Install-Package AutoMapper -Version 4.2.1
Se eliminaron CSharp y AutoMapper. Primero instalé CSharp (4.0.0.0) y luego agregué Automapper (6.1.1.0). Esto resolvió el problema para mí.
Terminé necesitando actualizar NuGet.exe que se incluyó en la solución para poder construir paquetes NuGet ejecutando:
nuget.exe update -self
Tuve el mismo problema en VS2013. Tuve que actualizar a VS2013 Update 5 y obtener la última distribución de Nuget para VS2013 en https://dist.nuget.org/visualstudio-2013-vsix/v2.12.0/NuGet.Tools.vsix
Una vez hecho eso, reinicié Visual Studio. Después de eso pude usar el paquete Automapper 5.0.2
Vaya a Visual Studio> Herramientas> Extensión y actualizaciones
Encuentra las actualizaciones en el menú de acordeón izquierdo, ve a Visual Studio Gallery.
Encontrará una actualización para Nuget.
Actualice el paquete nuget e intente instalar o construir el proyecto.
Gracias GT