Bestimmen Sie die Version von Entity Framework, die ich verwende?

131

Ich glaube, es gibt zwei Versionen 1 und 2? Und Version 2 wird als Entity Framework 4.0 bezeichnet?

Wie kann ich feststellen, welche Version in einer Anwendung verwendet wird?

Dies befindet sich in meiner web.config. Bedeutet dies, dass ich Version 2 verwende?

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

Antworten:

83

Es gibt zwei Versionen: 1 und 4. EFv4 ist Teil von .net 4.0 und EFv1 ist Teil von .net 3.5 SP1.

Ja, die obige Konfigurationseinstellung zeigt auf EFv4 / .net 4.0.

BEARBEITEN Wenn Sie den Referenzordner öffnen und suchen system.data.entity, auf das Element klicken und dann die Laufzeitversionsnummer im Eigenschaften-Explorer überprüfen, wird auch die Unterversion angezeigt. Meins zeigt zum Beispiel die Laufzeitversion v4.0.30319 mit der Version-Eigenschaft 4.0.0.0. Das EntityFramework.dllkann man auch so sehen. Nur die Version ist 4.1.0.0 und die Laufzeitversion ist v4.0.30319, was angibt, dass es sich um eine .NET 4-Komponente handelt. Alternativ können Sie den Speicherort der Datei wie in der Path-Eigenschaft aufgeführt öffnen und mit der rechten Maustaste auf die betreffende Komponente klicken, Eigenschaften auswählen, dann die Registerkarte Details auswählen und die Produktversion anzeigen.

KristoferA
quelle
2
Ja, aber es gibt verschiedene Versionen von 4.0.
MikeKulls
In meiner Antwort unten finden Sie den Versionsverlauf von Microsoft.
Marcel
1
Jetzt gibt es drei Versionen und EFV5 ist mit .NET 4.5 verbunden und ab sofort befindet sich EFv6 im Aufbau
Farax
4
Verwenden Sie Get-Package (siehe andere Antwort). Es ist schneller und genauer.
Will Curran
157

Eine andere Möglichkeit, die von Ihnen verwendete EF-Version abzurufen, besteht darin, die Package Manager Console (PMC) in Visual Studio zu öffnen und an der Eingabeaufforderung Get-Package einzugeben. Die erste Zeile ist für EntityFramework und listet die Version auf, die das Projekt installiert hat.

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`

Es wird viel mehr angezeigt und Sie müssen möglicherweise nach oben scrollen, um die EF-Linie zu finden, aber dies ist der einfachste Weg, den ich kenne, um dies herauszufinden.

ChrisS
quelle
15
Dies setzt voraus, dass Sie die Referenz über den Paketmanager installiert haben, was für viele von uns nicht der Fall ist.
Laurent Jalbert Simard
2
@LaurentJalbertSimard Ich habe dies nicht explizit getan und es erscheint immer noch.
Dan
39

kann es in der Datei packages.config überprüfen.

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

Wenn Sie den Referenzordner öffnen und system.data.entity suchen, auf das Element klicken und dann die Laufzeitversionsnummer im Eigenschaften-Explorer überprüfen, wird auch die Unterversion angezeigt. Meins zeigt zum Beispiel v4.0.30319 mit der Version-Eigenschaft 4.0.0.0.

RickIsWright
quelle
6

Wenn Sie EF Core verwenden, kann dieser Befehl unten helfen

dotnet ef --version
Namik Hajiyev
quelle
1

Wenn Sie zu Referenzen gehen, klicken Sie auf das Entity Framework und zeigen Sie die Eigenschaften an. Dort wird die Versionsnummer angezeigt.

Demodave
quelle
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;
    }
Einfacher Kerl
quelle
1

Klicken Sie im Projektmappen-Explorer unter Projekt auf Abhängigkeiten-> NuGet-> Microsoft.NetCore.All-> Hier wird eine Liste aller Microsoft .NetCore-Pakete angezeigt. Suchen Sie nach Microsoft.EntityFrameworkCore (2.0.3) in Klammer Version ist zu sehen, wie diese

Nach dem Finden des Pakets

Anzar Narmawala
quelle