Determinare la versione di Entity Framework che sto usando?


131

Credo che ci siano due versioni 1 e 2? E la versione 2 viene definita Entity Framework 4.0?

Come posso sapere quale versione viene utilizzata in un'applicazione?

Questo è nel mio web.config significa che sto usando la versione 2?

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

Risposte:


83

Esistono due versioni: 1 e 4. EFv4 fa parte di .net 4.0 e EFv1 fa parte di .net 3.5 SP1.

Sì, l'impostazione di configurazione sopra punta a EFv4 / .net 4.0.

MODIFICA Se si apre la cartella dei riferimenti e si trova system.data.entity, fare clic sull'elemento, quindi controllare il numero di versione di runtime in Esplora risorse, verrà visualizzata anche la versione secondaria. Il mio ad esempio mostra la versione runtime v4.0.30319 con la proprietà Version che mostra 4.0.0.0. È EntityFramework.dllpossibile visualizzare anche in questo modo. Solo la versione sarà 4.1.0.0 e la versione Runtime sarà v4.0.30319, che specifica che è un componente .NET 4. In alternativa, è possibile aprire il percorso del file come elencato nella proprietà Path e fare clic con il pulsante destro del mouse sul componente in questione, scegliere le proprietà, quindi scegliere la scheda dettagli e visualizzare la versione del prodotto.


2
Sì, ma ci sono diverse versioni di 4.0.
MikeKulls,

Vedi la mia risposta di seguito per la cronologia delle versioni di Microsoft.
Marcel,

1
Ora ci sono tre versioni e EFV5 è associato a .NET 4.5 e al momento EFv6 è in costruzione
Farax,

4
Usa Get-Package (vedi altra risposta). È più veloce e più preciso.
Will Curran,

157

Un altro modo per ottenere la versione EF che si sta utilizzando è aprire la console di Package Manager (PMC) in Visual Studio e digitare Get-Package al prompt. La prima riga deve essere per EntityFramework ed elencare la versione installata dal progetto.

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`

Viene visualizzato molto di più e potrebbe essere necessario scorrere indietro per trovare la linea EF, ma questo è il modo più semplice che conosco per scoprirlo.


15
Bene, questo presuppone che tu abbia installato il riferimento tramite il gestore dei pacchetti, il che non è il caso di molti di noi.
Laurent Jalbert Simard,

2
@LaurentJalbertSimard Non l'ho fatto esplicitamente, e sembra ancora.
Dan,

39

può controllarlo nel file packages.config.

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


11

Se apri la cartella dei riferimenti e trovi system.data.entity, fai clic sull'elemento, quindi controlla il numero di versione di runtime in Explorer Explorer, vedrai anche la versione secondaria. Il mio ad esempio mostra v4.0.30319 con la proprietà Version che mostra 4.0.0.0.


6

se si utilizza EF core questo comando di seguito potrebbe essere d'aiuto

dotnet ef --version

1

Se vai ai riferimenti, fai clic su Entity Framework, visualizza le proprietà Ti dirà il numero di versione.


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

In Esplora soluzioni in Progetto, fare clic su Dipendenze-> NuGet-> Microsoft.NetCore.All-> Qui verrà visualizzato l'elenco di tutti i pakcage di Microsoft .NetCore. Cerca Microsoft.EntityFrameworkCore (2.0.3) nella versione parentesi può essere visto in questo modo

Dopo aver trovato il pacchetto

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.