entity-framework - que - instalar entity framework visual studio 2017
La actualización 2 de Visual Studio 2015 rompe el código EF de ingeniería inversa vsix (9)
Después de instalar la última actualización de Visual Studio 2015 2, la opción del ingeniero de código inverso de EF power tools falla con el siguiente mensaje de error.
One or more errors occurred while processing template ''Entity.tt''.
error : An exception was thrown while trying to compile the transformation code. The following Exception was thrown:
System.ArgumentException: Empty path name is not legal.
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
at System.IO.File.OpenRead(String path)
at Roslyn.Utilities.FileUtilities.OpenFileStream(String path)
at Microsoft.CodeAnalysis.MetadataReference.CreateFromFile(String path, MetadataReferenceProperties properties, DocumentationProvider documentation)
at Microsoft.VisualStudio.TextTemplating.CompilerBridge.<>c.<.ctor>b__15_0(String x)
at System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext()
at System.Linq.Enumerable.<UnionIterator>d__66`1.MoveNext()
at System.Linq.Enumerable.<UnionIterator>d__66`1.MoveNext()
at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
at System.Collections.Immutable.ImmutableArray.CreateRange[T](IEnumerable`1 items)
at Microsoft.CodeAnalysis.ImmutableArrayExtensions.AsImmutableOrEmpty[T](IEnumerable`1 items)
at Microsoft.CodeAnalysis.Compilation.ValidateReferences[T](IEnumerable`1 references)
at Microsoft.CodeAnalysis.CSharp.CSharpCompilation.WithReferences(IEnumerable`1 references)
at Microsoft.CodeAnalysis.CSharp.CSharpCompilation.CommonWithReferences(IEnumerable`1 newReferences)
at Microsoft.VisualStudio.TextTemplating.CompilerBridge.PrepareNewCompilation()
at Microsoft.VisualStudio.TextTemplating.CompilerBridge.Compile()
at Microsoft.VisualStudio.TextTemplating.TransformationRunner.Compile(String source, String inputFile, IEnumerable`1 references, Boolean debug, SupportedLanguage language, String compilerOptions)
He intentado desinstalar y volver a instalar la herramienta desde el enlace de Julie Lermans para obtener la versión del instalador VS 2015 vsix.
¡Ayuda!
Edite su .Net Framework a 4.5, para hacer clic derecho en Proyecto> Propiedades> Marco de destino. Ahora intente ''Reverse Engineer CodeFirst''.
El problema es que la herramienta no descarga automáticamente el paquete Entity Framework , que rompe las reglas en el conjunto de reglas de análisis de código predeterminado. Así que la solución es primero instalar manualmente el paquete de Entity Framework y luego ejecutar el generador de código de ingeniería inversa.
En mi caso, he actualizado el marco de la entidad de 4.5 a 4.6, 4.5.1 no estaba funcionando. Siga los siguientes pasos para solucionar este problema.
Haga clic con el botón derecho en el proyecto en el Explorador de soluciones> Propiedades> Marco de destino, cambie a 4.5 a 4.6 y luego reconstruya la solución.
Establecer el proyecto como proyecto de inicio me ayudó a solucionar este error.
No estoy realmente seguro de que mi caso coincida al 100% con usted, pero el error es el mismo y la condición previa también.
Mi "pecado" original era el archivo configurado para el análisis de código que faltaba, por lo que el primer paso es " Verificar las propiedades del proyecto, en la pestaña Análisis de código, si está utilizando un archivo existente ".
Ahora desapareció la primera excepción, pero apareció una nueva, ¡una excepción OutOfMemoryException realmente inesperada!
Tomando el proceso devenv.exe bajo control, noté que comenzó a consumir RAM muy rápidamente (¡de 250 MB a 2 GB en menos de 1 segundo!) En este punto, sin razones científicas :-), intenté crear un nuevo conjunto de reglas vacío y asociarlo ¡Al Proyecto e increíblemente comenzó a trabajar de nuevo!
Espero que esto pueda ayudarte.
Nuevo para VS2015: https://onedrive.live.com/?authkey=%21AP6uv8OLvM5qnmU&cid=FFD7F3DFCD5E1160&id=FFD7F3DFCD5E1160%2161967&parId=FFD7F3DFCD5E1160%2161965&action=locate
Después de la actualización 2: haga clic con el botón derecho en el proyecto en el Explorador de soluciones> Propiedades> Marco de destino para volver a 4.5.1 y luego reconstruir la solución. Ejecutar ahora la herramienta de ingeniería inversa. En mi funcionó correctamente
Para mí, fue tan simple como otro reinicio de Visual Studio.
Parece que las herramientas eléctricas EF6 necesitan algo de amor de alguien. Está bien documentado que uno tiene que cambiar el paquete zip .vsix antes de que se instale en VS2015.
Realmente se siente que esto tiene problemas significativos de estabilidad. Después de muchas variaciones en un tema, hacer lo siguiente, empuja la herramienta a problemas repetibles ...
- iniciar nuevo proyecto. y establecer el marco de destino a 4.5.1
- añadir una app.config
- Install-Package entityframework -ProjectName MYPROJ
- [CLICK A LA DERECHA] [Entity Framework] [Código de ingeniero inverso primero (RECF)]
Elección y la conexión y la base de datos. Esto funciona de manera repetible sin problemas, y el kickout (RECF) nuevamente y una vez más, en esta etapa, funciona repetidamente.
[CLIC A LA DERECHA] [Entity Framework] [Personalizar plantillas de ingeniería inversa] y añada los archivos .t. Repitiendo el paso 4 RECF trabaja repetidamente.
Ahora cambiando el context.tt de manera muy simple, por ejemplo, simplemente agregando un // comentario
en la parte superior de context.tt hace que el procedimiento del paso 4 RECF falle constantemente. Reiniciar VS2015 y reiniciar el cuadro, aún no permite que el paso 4-RECF vuelva a funcionar.
Eliminar el proyecto y comenzar de nuevo, parece permitir que el proceso RECF funcione, PERO tan pronto como importe los tt y luego hago un cambio a un .tt, entonces hay una espiral de diferentes problemas en la salida ...
ya sea
Memoria insuficiente para continuar la ejecución del programa #
O
Se produjo una excepción al intentar compilar el código de transformación
O
Se produjeron uno o más errores al procesar la plantilla ''Entity.tt''. error: se produjo una excepción al intentar compilar el código de transformación. Se ha emitido la siguiente excepción: System.ArgumentException: el nombre de la ruta vacía no es legal.
En este recurso,
https://visualstudiogallery.msdn.microsoft.com/72a60b14-1581-4b9b-89f2-846072eff19d , hay personas que comentan varios problemas similares, pero en general esta herramienta es inestable, poco confiable y difícil de usar de manera estable y repetible.
Simplemente abra la pestaña Propiedades de su proyecto y manténgala abierta mientras ejecuta "Reverse Engineering Code First". No sé exactamente por qué, pero funciona.
Frente a la excepción "Sin memoria", intente descargar temporalmente todos los proyectos no relacionados en la solución. Para bases de datos complejas, encapsule todo su código relacionado con EF para separar el proyecto y adjunte este proyecto a una solución separada, luego use la solución creada cuando necesite ejecutar "el código de ingeniería inversa primero".