.net - Problema al instalar Entity Framework 7 RC1
entity-framework visual-studio (7)
Como no tenía un ensamblaje System.Collections.Concurrent
en GAC, instalé el paquete System.Collections.Concurrent
NuGet:
Install-Package System.Collections.Concurrent
A continuación, agregue manualmente la referencia a los packages/System.Collections.Concurrent.4.0.10/lib/dotnet/System.Collections.Concurrent.dll
(porque la carpeta net46 estaba vacía).
Después de eso, la instalación de EntityFramework.MicrosoftSqlServer
terminó sin errores.
Estoy tratando de instalar EF7 rc1 en un proyecto existente:
PM> Install-Package EntityFramework.MicrosoftSqlServer –Pre
pero me sale el siguiente error:
Instalación fallida. Rodando hacia atrás ...
El paquete ''Microsoft.Extensions.Logging 1.0.0-rc1-final'' no existe en el proyecto ''XYZ''
Y al final de la traza recibo este otro mensaje:
Paquete de instalación: no se pudo agregar la referencia a ''System.Collections.Concurrent''. Por favor, asegúrese de que esté en la memoria caché de ensamblados global.
Busqué en Google y puedo ver que la colección simultánea ha estado en dotnet por un tiempo, pero no tengo tal ensamblaje en mi caja de desarrollo.
Actualizar:
Después de consultar el gac con gacutil
me doy cuenta de que efectivamente el ensamblaje está presente:
El caché de ensamblados global contiene los siguientes ensamblados:
System.Collections.Concurrent, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a, processorArchitecture = MSIL
Como solución alternativa, creé un nuevo proyecto, instalé EF 7, agregué manualmente los archivos de origen anteriores y funcionó.
Después de recibir este error, pude instalar EF7 RC1 en mi proyecto eliminando las referencias a mis otros proyectos, luego pude instalar EF7 RC1 exitosamente en el proyecto donde lo necesitaba y luego volví a agregar las referencias, después de lo cual solución comenzó a compilar (y al menos alguna funcionalidad EF básica comienza a funcionar). Probablemente una falla de nuget / dnu.
El mismo problema aqui. Desinstalé ef7-beta8 y sus dependencias y reinstalé ef7 ... Problema resuelto, así que parece que hay un error en la lógica de actualización o en el propio nuget, no lo sé con seguridad.
En mi caso tuve que eliminar los paquetes nuget xUnit. Después de eliminar esas referencias, Microsoft.Extensions.Logging 1.0.0-rc1-final se instala correctamente. Después agregué xUnit de vuelta sin problemas.
Esto es un PITA, pero usar .Net v4.5.2
mi solución para obtener EntityFramework.Core -pre
instalado es:
- Cree una biblioteca de clases limpia sin NuGets instalado.
-
install-package entityframework.core -pre
- Copie el contenido de
packages.config
pero no incluya la línea que representa aEntityFramework.Core
- Incluya las líneas en el
packages.config
en el que lo está instalando. -
update-package -reinstall -projectName YourProjectNameFromStep4
-
install-package EntityFramework.Core -pre
¡NOTA! Si el paso 5 falla, puedes hacer lo siguiente:
-
install-package System.Collections.Concurrent -version 4.0.0 -projectName YourProjectNameFromStep4
-
install-package System.Runtime -version 4.0.0 -projectName YourProjectNameFromStep4
Estos se pueden eliminar luego de que la instalación desde el paso 6 sea exitosa:
-
uninstall-package System.Collections.Concurrent -projectName YourProjectNameFromStep4
-
uninstall-package System.Runtime -projectName YourProjectNameFromStep4
Después de reiniciar Visual Studio, podría decir "No se puede encontrar System.Collections.Concurrent
pero cerrar los ojos para esto parece funcionar.
Si está recibiendo esto ahora (como en abril de 2016), es posible que estas respuestas estén desactualizadas. Estoy instalando EF7 por primera vez, pero lo que encontré fue esto:
- Instalé
EntityFramework.SqlServer
pensando que este era el paquete más ''de nivel superior'' que necesitaba - Intenté instalar
EntityFramework.Commands
y obtuve el estúpido error de "colecciones" que se muestra arriba
Miré detenidamente las versiones.
- SqlServer todavía era Beta 8
- Comandos era RC1
Así que fui a "Administrar paquetes nuget" para el proyecto y actualicé todo lo que se muestra en las actualizaciones. En realidad tuve que hacer esto dos veces.
Esto trajo el núcleo EF7 a RC1
Entonces pude instalar EntityFramework.Commands
sin problema.
PERO esto no es lo que quieres hacer?
Why? Porque cambiaron el EntityFramework.SqlServer
paquete EntityFramework.MicrosoftSqlServer
a EntityFramework.MicrosoftSqlServer
Así que realmente desea desinstalar *.SqlServer
e instalar *.MicrosoftSqlServer
Eso explica por qué no había versión RC1.