Kullandığım Entity Framework sürümünü belirle?


131

Sanırım iki versiyon 1 ve 2 var? Ve sürüm 2, Entity Framework 4.0 olarak anılıyor mu?

Bir uygulamada hangi sürümün kullanıldığını nasıl anlayabilirim?

Bu benim web.config dosyamda bu sürüm 2 kullandığım anlamına mı geliyor?

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

Yanıtlar:


83

İki sürüm vardır: 1 ve 4. EFv4, .net 4.0'ın bir parçasıdır ve EFv1, .net 3.5 SP1'in parçasıdır.

Evet, yukarıdaki yapılandırma ayarı EFv4 / .net 4.0'a işaret ediyor.

DÜZENLE Eğer referanslar klasörünü açıp bulursanız system.data.entity, öğeyi tıklayın, ardından Özellikler gezgininde çalışma zamanı sürüm numarasını kontrol edin, alt sürümü de göreceksiniz. Örneğin benimki, 4.0.0.0'ı gösteren Version özelliği ile çalışma zamanı sürümü v4.0.30319'u gösterir. Bu EntityFramework.dllşekilde de görülebilir. Yalnızca Sürüm 4.1.0.0 olacak ve Çalışma Zamanı sürümü bir .NET 4 bileşeni olduğunu belirten v4.0.30319 olacaktır. Alternatif olarak, Path özelliğinde listelendiği şekilde dosya konumunu açabilir ve söz konusu bileşeni sağ tıklayıp özellikleri seçip ayrıntılar sekmesini seçip ürün sürümünü görüntüleyebilirsiniz.


2
Evet, ancak 4.0'ın farklı sürümleri var.
MikeKulls

Microsoft'un sürüm geçmişi için aşağıdaki cevabıma bakın.
Marcel

1
Şimdi üç sürüm var ve EFV5, .NET 4.5 ile ilişkilendirilmiştir ve şu an itibariyle EFv6 yapım aşamasındadır
Farax

4
Get-Package'ı kullanın (diğer yanıta bakın). Daha hızlı ve daha doğru.
Will Curran

157

Kullandığınız EF sürümünü almanın başka bir yolu, Visual Studio'da Paket Yöneticisi Konsolunu (PMC) açmak ve istemde Get-Paketi yazmaktır. Be for EntityFramework olan ilk satır ve projenin yüklediği sürümü listeleyin.

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`

Çok daha fazlasını gösterir ve EF hattını bulmak için tekrar yukarı kaydırmanız gerekebilir, ancak bu, öğrenmek için bildiğim en kolay yol.


15
Bu, referansı paket yöneticisi aracılığıyla yüklediğinizi varsayar ki bu çoğumuz için geçerli değildir.
Laurent Jalbert Simard

2
@LaurentJalbertSimard Bunu açıkça yapmadım ve hala görünüyor.
Dan

39

package.config dosyasında kontrol edebilirsiniz.

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


11

Referanslar klasörünü açıp system.data.entity'yi bulursanız, öğeyi tıklayın, ardından Özellikler gezgininde çalışma zamanı sürüm numarasını kontrol edin, alt sürümü de göreceksiniz. Örneğin benimki, 4.0.0.0'ı gösteren Version özelliği ile v4.0.30319'u gösterir.


6

EF core kullanıyorsanız aşağıdaki bu komut yardımcı olabilir

dotnet ef --version

1

Referanslara giderseniz, Entity Framework'e tıklayın, özellikleri görüntüleyin Size sürüm numarasını söyleyecektir.


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

Solution Explorer'da Project altında Dependencies-> NuGet-> Microsoft.NetCore.All-> Buraya tıklayın, tüm Microsoft .NetCore pakcage'lerin listesi görünecektir. Parantez sürümünde Microsoft.EntityFrameworkCore (2.0.3) için arama yapın Bu şekilde görülebilir

Paketi bulduktan sonra

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.