2015-03-17 21 views
8

Có thể chạy EF6 theo bản phát hành trước ASP.net vNext không? EF7 không có một số tính năng tôi cần, nhưng tôi muốn thử nghiệm ứng dụng của tôi trong .NET Core.ASP.net vNext và Entity Framework 6

Tôi nhận được lỗi sau:

FileLoadException: A strongly-named assembly is required. 
(Exception from HRESULT: 0x80131044) Unknown location 

FileLoadException: Could not load file or assembly 
'EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, 
PublicKeyToken=b77a5c561934e089' or one of its dependencies. 
A strongly-named assembly is required. (Exception from HRESULT: 0x80131044) 

Tôi biết rằng NET Core không ủng hộ mạnh mẽ tên lắp ráp, nhưng như xa như tôi biết tôi đang chạy máy chủ trong khuôn khổ aspnet50 thay vì aspnetcore50.

project.json của tôi trông như thế này:

{ 
    "webroot": "wwwroot", 
    "version": "1.0.0-*", 
    "dependencies": { 
     "EntityFramework": "6.1.1", 
     "Microsoft.AspNet.Mvc": "6.0.0-beta3", 
     /* "Microsoft.AspNet.Mvc.WebApiCompatShim": "6.0.0-beta3", */ 
     "Microsoft.AspNet.Diagnostics": "1.0.0-beta3", 
     "Microsoft.AspNet.Diagnostics.Entity": "7.0.0-beta3", 
     "Microsoft.AspNet.Identity.EntityFramework": "3.0.0-beta3", 
     "Microsoft.AspNet.Security.Cookies": "1.0.0-beta3", 
     "Microsoft.AspNet.Server.IIS": "1.0.0-beta3", 
     "Microsoft.AspNet.Server.WebListener": "1.0.0-beta3", 
     "Microsoft.AspNet.StaticFiles": "1.0.0-beta3", 
     "Microsoft.Framework.ConfigurationModel.Json": "1.0.0-beta3", 
     "Microsoft.Framework.CodeGenerators.Mvc": "1.0.0-beta3", 
     "Microsoft.Framework.Logging": "1.0.0-beta3", 
     "Microsoft.Framework.Logging.Console": "1.0.0-beta3", 
     "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-beta3", 
     "Tricycle.SqlPlatform.EntityFramework": "1.0.0-*" 
    }, 
    "commands": { 
     /* Change the port number when you are self hosting this application */ 
     "web": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.WebListener --server.urls http://localhost:5000", 
     "gen": "Microsoft.Framework.CodeGeneration", 
    }, 
    "frameworks": { 
     "aspnet50": { 
      "dependencies": { 
       "Tricycle.Studio.ContentManager.Client": "1.0.0-*" 
      } 
     }, 
     //"aspnetcore50": { } 
    }, 
    "exclude": [ 
     "wwwroot", 
     "node_modules", 
     "bower_components" 
    ], 
    "bundleExclude": [ 
     "node_modules", 
     "bower_components", 
     "**.kproj", 
     "**.user", 
     "**.vspscc" 
    ], 
    "scripts": { 
     "postrestore": [ "npm install" ], 
     "prepare": [ "grunt bower:install" ] 
    } 
} 

EF lớp được định nghĩa trong một dự án riêng biệt (Tricycle.Studio.ContentManager.Client) với project.json sau:

{ 
    "version": "1.0.0-*", 
    "dependencies": { 
     "EntityFramework": "6.1.1", 
    }, 

    "frameworks": { 
     "aspnet50": { 
      "dependencies": { 
       "System.Data.Common": "1.0.0-beta2", 
       "System.Data.SqlClient": "1.0.0-beta2" 
      } 
     }, 
     //"aspnetcore50" : { 
     // "dependencies": { 
     //  "System.Runtime": "4.0.20-beta-22523" 
     // } 
     //} 
    } 
} 

Trả lời

9

Bạn không thể sử dụng Microsoft.AspNet.Identity.EntityFramework với EF6 vì nó phụ thuộc vào EF7.

Dựa trên tệp project.json của bạn, thời gian chạy sẽ tải cả EF6 và EF7 (do Nhận dạng). Hành vi này là không thể đoán trước.

Ngoài ra, không được kết hợp các gói beta2beta3. Đó là đảm bảo rắc rối.

+0

Cảm ơn! Loại bỏ Microsoft.AspNet.Identity.EntityFramework dường như đã sửa nó. Về beta2/3 - những gói đó dường như chỉ có sẵn trong phiên bản beta2. – Grokys

+0

Ah, tìm đẹp, @Victor. Tất cả các đồ chơi mới trong khởi động làm tôi bỏ qua điều này. +1 –

Các vấn đề liên quan