2012-06-19 4 views
10

Użyłem już frameworka encji z osobnym pakietem migracji (dla wersji 3.5 lub 4.0, nie pamiętam), oraz z dołączonymi migracjami api (4.3, 5.0).Komenda Add-Migration nie działa z "typem nie jest rozwiązany" (gdzie "typ" jest klasą struktury encji wewnętrznej)

Ale dzisiaj mam stworzył nowy projekt (pusty projekt MVC4.0), zainstalować najnowszą stabilną EF (4.3) i odbierać błąd poniżej na "pm initital> Add-Migration" polecenia

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) 

Następnie staram się przejść do EF5.0 a błąd nadal tutaj, z jedną różnicą w wersji:

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'. 

jest to pierwszy raz, kiedy otrzymasz ten błąd. Istnieje klasa "System.Data.Entity.Migrations.Design.ToolingFacade" klasy
"System.Data.Entity.Migrations.Design.ToolingFacade", a podklasa "GetPendingMigrationsRunner" również istnieje w zespole EntityFramework z odniesieniem.

Ktoś wie, co może powodować błąd? Migracje działają dobrze dla innego projektu w MVC4.0, na tych mam wybrany szablon projektu standart (nie pusty).

Dzięki!

Odpowiedz

3

Ten sam błąd wystąpił przy próbie włączenia opcji migracji-migracji w rozwiązaniu, w którym niektóre projekty były ukierunkowane na platformę .NET 4.5 (a więc przy użyciu EF 5), a niektóre z nich były ukierunkowane na platformę .NET 4 (a więc przy użyciu EF 4,4). Wygląda na to, że próbował załadować nieprawidłową wersję EF DLL.

Kiedy tymczasowo wyładowałem projekty .NET 4.5 z mojego rozwiązania, mogłem wtedy z powodzeniem użyć Enable-Migrations w innych moich projektach.

+3

Nie trzeba rozładowywać projektu - wystarczy zmienić "Projekt startowy" w Visual Studio. –

0

udało mi się uniknąć tego błędu przez tworzenie biblioteki jednostek testowych jako projektu startowego w moim rozwiązaniu, zamiast samej biblioteki.

0

Wpadłem na ten problem, gdy mój komputer miał mało miejsca na dysku. Czyszczenie niektórych plików i ponowne uruchamianie rozwiązało problem.