Determinar la versión de Entity Framework que estoy usando?


131

Creo que hay dos versiones 1 y 2? ¿Y la versión 2 se conoce como Entity Framework 4.0?

¿Cómo puedo saber qué versión se está utilizando en una aplicación?

Esto está en mi web.config ¿significa que estoy usando la versión 2?

<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

Respuestas:


83

Hay dos versiones: 1 y 4. EFv4 es parte de .net 4.0 y EFv1 es parte de .net 3.5 SP1.

Sí, la configuración de arriba apunta a EFv4 / .net 4.0.

EDITAR Si abre la carpeta de referencias y la ubica system.data.entity, haga clic en el elemento, luego verifique el número de versión de tiempo de ejecución en el explorador de Propiedades, también verá la sub versión. El mío, por ejemplo, muestra la versión de tiempo de ejecución v4.0.30319 con la propiedad Versión que muestra 4.0.0.0. El EntityFramework.dllse puede ver de esta manera también. Solo la versión será 4.1.0.0 y la versión Runtime será v4.0.30319, que especifica que es un componente .NET 4. Alternativamente, puede abrir la ubicación del archivo como se muestra en la propiedad Ruta y hacer clic con el botón derecho en el componente en cuestión, elegir propiedades, luego elegir la pestaña de detalles y ver la versión del producto.


2
Sí, pero hay diferentes versiones de 4.0.
MikeKulls

Vea mi respuesta a continuación para ver el historial de versiones de Microsoft.
Marcel

1
Ahora hay tres versiones y EFV5 está asociado con .NET 4.5 y, a partir de ahora, EFv6 está en construcción
Farax,

44
Use Get-Package (vea otra respuesta). Es más rápido y más preciso.
Will Curran

157

Otra forma de obtener la versión EF que está utilizando es abrir Package Manager Console (PMC) en Visual Studio y escribir Get-Package en el indicador. La primera línea será para EntityFramework y enumere la versión que el proyecto ha instalado.

PM> Get-Package

Id                             Version              Description/Release Notes                                                                                                                                                                                          
--                             -------              -------------------------                                                                                                                                                                                          
EntityFramework                5.0.0                Entity Framework is Microsoft's recommended data access technology for new applications.                                                                                                                           
jQuery                         1.7.1.1              jQuery is a new kind of JavaScript Library....                                           `enter code here`

Muestra mucho más y es posible que tenga que desplazarse hacia arriba para encontrar la línea EF, pero esta es la forma más fácil que conozco para averiguarlo.


15
Bueno, esto supone que instaló la referencia a través del administrador de paquetes, que no es el caso para muchos de nosotros.
Laurent Jalbert Simard

2
@LaurentJalbertSimard No lo hice explícitamente, y todavía aparece.
Dan

39

puede verificarlo en el paquete package.config.

<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="EntityFramework" version="6.0.2" targetFramework="net40-Client" />
</packages> 


11

Si abre la carpeta de referencias y localiza system.data.entity, haga clic en el elemento, luego verifique el número de versión de tiempo de ejecución en el explorador de Propiedades, también verá la sub versión. El mío, por ejemplo, muestra v4.0.30319 con la propiedad Versión que muestra 4.0.0.0.


6

si está utilizando EF core, este comando a continuación podría ayudar

dotnet ef --version

1

Si va a referencias, haga clic en Entity Framework, vea las propiedades. Le indicará el número de versión.


1
   internal static string GetEntityFrameworkVersion()
    {
        var version = "";
        var assemblies = System.AppDomain.CurrentDomain.GetAssemblies().Select(x => x.FullName).ToList();
        foreach(var asm in assemblies)
        {
            var fragments = asm.Split(new char[] { ',', '{', '}' }, StringSplitOptions.RemoveEmptyEntries).Select(x=> x.Trim()).ToList();
            if(string.Compare(fragments[0], EntityFramework, true)==0)
            {
                var subfragments = fragments[1].Split(new char[] { '='}, StringSplitOptions.RemoveEmptyEntries);
                version =subfragments[1];
                break;
            }
        }
        return version;
    }

1

En el Explorador de soluciones en Proyecto, haga clic en Dependencias-> NuGet-> Microsoft.NetCore.All-> Aquí aparecerá la lista de todos los paquetes de Microsoft .NetCore. La búsqueda de Microsoft.EntityFrameworkCore (2.0.3) en la versión de soporte se puede ver así

Después de encontrar el paquete

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.