2012-06-19 8 views
10

Tôi đã sử dụng khung thực thể với gói di chuyển riêng biệt (cho 3.5 hoặc 4.0, không nhớ) và với api di chuyển được bao gồm (4.3, 5.0).Lệnh Thêm-Di chuyển không thành công với "loại không được giải quyết" (trong đó "loại" là lớp khung thực thể bên trong)

Nhưng hôm nay tôi đã tạo ra một dự án mới (dự án MVC4.0 trống), cài đặt EF ổn định mới nhất (4.3) và nhận được báo lỗi dưới đây vào "pm> Add-Migration initital" lệnh

System.Runtime.Serialization.SerializationException: Type is not resolved for member 'System.Data.Entity.Migrations.Design.ToolingFacade+GetPendingMigrationsRunner,EntityFramework , Version=4.3.1.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. 
    at System.AppDomain.DoCallBack(CrossAppDomainDelegate callBackDelegate) 
    at System.Data.Entity.Migrations.Design.ToolingFacade.Run(BaseRunner runner) 
    at System.Data.Entity.Migrations.Design.ToolingFacade.GetPendingMigrations() 
    at System.Data.Entity.Migrations.AddMigrationCommand.<>c__DisplayClass2.<.ctor>b__0() 
    at System.Data.Entity.Migrations.MigrationsDomainCommand.Execute(Action command) 

Sau đó, tôi đang cố gắng để chuyển sang EF5.0 và một lỗi vẫn ở đây, với một sự khác biệt trong một phiên bản:

System.Runtime.Serialization.SerializationException: Type is not resolved for member 'System.Data.Entity.Migrations.Design.ToolingFacade+GetPendingMigrationsRunner,EntityFramework  , Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. 

đây là lần đầu tiên khi tôi nhận được lỗi này. Lớp
"System.Data.Entity.Migrations.Design.ToolingFacade" tồn tại và lớp con "GetPendingMigrationsRunner" trong nó cũng tồn tại trong một hội đồng EntityFramework được tham chiếu.

Bất kỳ ai biết điều gì có thể gây ra lỗi? Di chuyển hoạt động ok cho một dự án khác trên MVC4.0, trên những người tôi đã chọn standart (không trống) dự án mẫu.

Cảm ơn!

Trả lời

3

Tôi gặp lỗi tương tự khi thử Bật-di chuyển trong một giải pháp mà một số dự án đang nhắm mục tiêu .NET 4.5 (do đó sử dụng EF 5) và một số đã nhắm mục tiêu .NET 4 (do đó sử dụng EF 4.4). Dường như nó đang cố gắng tải phiên bản sai của EF DLL.

Khi tôi tạm thời không tải các dự án .NET 4.5 từ giải pháp của mình, tôi có thể sử dụng thành công Bật-di chuyển trong các dự án khác của tôi.

+3

Bạn không cần phải dỡ bỏ dự án - thay đổi "Dự án khởi động" trong Visual Studio là đủ. –

0

tôi đã có thể để tránh lỗi này bằng cách làm cho thư viện đơn vị thử nghiệm là dự án khởi động trong giải pháp của tôi, thay vì thư viện.

0

Tôi gặp sự cố này khi máy tính của tôi sắp hết dung lượng đĩa. Làm sạch một số tập tin và rerunning giải quyết vấn đề cho tôi.