2010-07-31 32 views
100

Tôi tin rằng có hai phiên bản 1 và 2? Và phiên bản 2 được gọi là Entity Framework 4.0?Xác định phiên bản của Khung thực thể mà tôi đang sử dụng?

Làm cách nào để biết phiên bản nào đang được sử dụng trong ứng dụng?

Đây là trong web.config của tôi có nghĩa là tôi đang sử dụng phiên bản 2 không?

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

Trả lời

73

Có hai phiên bản: 1 và 4. EFv4 là một phần của .net 4.0 và EFv1 là một phần của .net 3.5 SP1.

Có, cài đặt cấu hình ở trên trỏ tới EFv4/.net 4.0.

EDIT Nếu bạn mở thư mục tài liệu tham khảo và xác định vị trí system.data.entity, nhấp vào mục, sau đó kiểm tra các số phiên bản runtime trong Properties nhà thám hiểm, bạn sẽ thấy những phiên bản phụ là tốt. Ví dụ của tôi cho thấy phiên bản runtime v4.0.30319 với thuộc tính Version hiển thị 4.0.0.0. Các EntityFramework.dll có thể được xem trong thời trang này cũng có. Chỉ phiên bản sẽ là 4.1.0.0 và phiên bản Thời gian chạy sẽ là v4.0.30319 xác định nó là một thành phần .NET 4. Ngoài ra, bạn có thể mở vị trí tệp như được liệt kê trong thuộc tính Đường dẫn và nhấp chuột phải vào thành phần được đề cập, chọn thuộc tính, sau đó chọn tab chi tiết và xem phiên bản sản phẩm.

+2

Có, nhưng có các phiên bản 4.0 khác nhau. – MikeKulls

+0

Xem câu trả lời của tôi bên dưới để biết lịch sử phiên bản của Microsoft. – Marcel

+0

Bây giờ có ba phiên bản và EFV5 được liên kết với .NET 4.5 và hiện tại, EFv6 đang được xây dựng – Farax

11

Nếu bạn mở thư mục tham khảo và định vị system.data.entity, bấm vào mục đó, sau đó kiểm tra số phiên bản thời gian chạy trong trình khám phá thuộc tính, bạn cũng sẽ thấy phiên bản phụ. Ví dụ của tôi cho thấy v4.0.30319 với thuộc tính Version hiển thị 4.0.0.0.

123

Một cách khác để lấy phiên bản EF bạn đang sử dụng là mở Package Manager Console (PMC) trong Visual Studio và gõ Get-Package tại dấu nhắc. Dòng đầu tiên với EntityFramework và liệt kê phiên bản dự án đã cài đặt.

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`

Nó hiển thị nhiều hơn và bạn có thể phải cuộn lại để tìm dòng EF, nhưng đây là cách dễ nhất tôi biết để tìm hiểu.

+12

Vâng, điều này giả định bạn đã cài đặt tài liệu tham khảo thông qua trình quản lý gói mà không phải là trường hợp của nhiều người trong chúng ta. –

+0

Câu trả lời hay nhất, hoạt động như một sự quyến rũ, và làm việc cho những thứ khác: D – Squazz

+0

@LaurentJalbertSimard Tôi không rõ ràng làm như vậy, và nó vẫn xuất hiện. – Dan

32

có thể kiểm tra tệp trong tệp gói.config.

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

Nếu bạn tham khảo, hãy nhấp vào Khuôn khổ thực thể, xem thuộc tính Nó sẽ cho bạn biết số phiên bản.

0
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; 
    } 
Các vấn đề liên quan