Determinar a versão do Entity Framework que estou usando?


131

Eu acredito que existem duas versões 1 e 2? E a versão 2 é conhecida como Entity Framework 4.0?

Como posso saber qual versão está sendo usada em um aplicativo?

Isso está no meu web.config, isso significa que estou usando a versão 2?

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

Respostas:


83

Existem duas versões: 1 e 4. O EFv4 faz parte do .net 4.0 e o EFv1 faz parte do .net 3.5 SP1.

Sim, a configuração acima aponta para EFv4 / .net 4.0.

EDITAR Se você abrir a pasta de referências e localizar system.data.entity, clique no item e verifique o número da versão de tempo de execução no explorador de propriedades. Você também verá a sub versão. O meu, por exemplo, mostra a versão de tempo de execução v4.0.30319 com a propriedade Version mostrando 4.0.0.0. O EntityFramework.dllpode ser visto desta forma também. Somente a versão será 4.1.0.0 e a versão de tempo de execução será v4.0.30319, que especifica que é um componente do .NET 4. Como alternativa, você pode abrir o local do arquivo conforme listado na propriedade Caminho e clicar com o botão direito do mouse no componente em questão, escolher propriedades, depois escolher a guia detalhes e visualizar a versão do produto.


2
Sim, mas existem versões diferentes do 4.0.
MikeKulls

Veja minha resposta abaixo para o histórico de versões da Microsoft.
Marcel

1
Agora, existem três versões e EFV5 está associada com .NET 4,5 e a partir de agora, é EFv6 em construção
Farax

4
Use o Get-Package (veja outra resposta). É mais rápido e preciso.
Will Curran

157

Outra maneira de obter a versão EF que você está usando é abrir o Console do Gerenciador de Pacotes (PMC) no Visual Studio e digite Get-Package no prompt. A primeira linha com be for EntityFramework e lista a versão que o projeto instalou.

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`

Ele exibe muito mais e talvez você precise rolar para cima para encontrar a linha EF, mas é a maneira mais fácil de descobrir.


15
Bem, isso pressupõe que você instalou a referência através do gerenciador de pacotes, o que não é o caso de muitos de nós.
Laurent Jalbert Simard 26/11

2
@LaurentJalbertSimard Eu não fiz isso explicitamente, e ele ainda aparece.
Dan

39

pode verificá-lo no arquivo packages.config.

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


11

Se você abrir a pasta de referências e localizar system.data.entity, clique no item e verifique o número da versão de tempo de execução no explorador de propriedades. Você também verá a sub versão. O meu, por exemplo, mostra a v4.0.30319 com a propriedade Version mostrando 4.0.0.0.


6

se você estiver usando o núcleo EF, este comando abaixo pode ajudar

dotnet ef --version

1

Se você for fazer referências, clique no Entity Framework, veja as propriedades. Ele informará o número da versão.


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

No Gerenciador de Soluções, no Projeto, clique em Dependências-> NuGet-> Microsoft.NetCore.All-> Aqui a lista de todos os pacotes da Microsoft .NetCore será exibida. Procure por Microsoft.EntityFrameworkCore (2.0.3) na versão do suporte pode ser visto como este

Depois de encontrar o pacote

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.