Próbowałem uruchomić polecenie „Enable-Migrations” w nowym projekcie i otrzymałem komunikat:
PM> Enable-Migrations
The term 'Enable-Migrations' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verif
y that the path is correct and try again.
At line:1 char:18
+ Enable-Migrations <<<<
+ CategoryInfo : ObjectNotFound: (Enable-Migrations:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Ale we wszystkich innych projektach polecenie działa dobrze.
Dlaczego to się dzieje?
BTW, używam VS2010 Professional SP1
EDYCJA: Ponownie zainstalowałem za pomocą polecenia: Install-Package EntityFramework -IncludePrerelease i problem zniknął.
entity-framework
migration
Eduardo Brites
źródło
źródło
Odpowiedzi:
Po prostu ponowne uruchomienie Visual Studio zadziałało dla mnie. Nie ma potrzeby instalowania pakietów itp.
źródło
Ponownie zainstalowałem za pomocą polecenia: Install-Package EntityFramework -IncludePrerelease i problem zniknął.
źródło
EntityFramework
obsługuje tylko .NET Framework 4.0 i 4.5. Więc jeśli używasz .NET Framework 4.6 lub nowszego, to nie działa.Ten problem występuje, ponieważ nie mamy zainstalowanej platformy Entity Framework. Zainstaluj Entity Framework za pomocą poniższego polecenia.
Po zainstalowaniu wybierz projekt z listy rozwijanej domyślnego projektu konsoli menedżera pakietów.
Upewnij się, że przynajmniej jedna klasa w Twoim projekcie dziedziczy z kontekstu danych, w przeciwnym razie użyj poniższej klasy:
Jeśli tego nie zrobimy, pojawi się kolejny błąd:
No context type was found in the assembly
Po wykonaniu tych czynności możesz biec
źródło
Ponowne uruchomienie programu Visual Studio z uprawnieniami administratora rozwiązało problem.
źródło
Upewnij się, że korzystasz z programu Visual Studio jako administrator.
źródło
Miałem ten sam problem z wersją zapoznawczą VS 2019, .Net Core i EntityFramework Core.
Okazuje się, że musiałem zainstalować za pośrednictwem NuGet
Microsoft.EntityFrameworkCore.Tools
iMicrosoft.EntityFrameworkCore.Design
. Kiedy to było zrobione, działało jak urok.źródło
Najpierw „Install-Package EntityFramework -IncludePrerelease”, a następnie ponowne uruchomienie programu Visual Studio jako administrator pracowało dla mnie razem.
źródło
W Visual Studio 2012 miałem ten sam błąd. Musiał odinstalować NuGet (narzędzia> rozszerzenia i aktualizacje> zainstalowane> wszystko: Menedżer pakietów NuGet: przycisk Odinstaluj). Następnie zamknął program Visual Studio. Następnie ponownie otwarto program Visual Studio i ponownie zainstalowano pakiet NuGet (narzędzia> rozszerzenia i aktualizacje> online> Galeria programu Visual Studio: Menedżer pakietów NuGet: przycisk Pobierz). Następnie w kolejnych oknach: kliknij przycisk Instaluj, a następnie przycisk zamykania. Następnie zamknij i ponownie otwórz program Visual Studio.
źródło
To, co naprawiło ten symptom dla mnie (VS2013), to odinstalowanie, a następnie ponowne zainstalowanie pakietu EF za pomocą narzędzia Nuget. Różnica w pliku csproj zmieniła to ...
...zaangażowany w to...
Nie do końca rozumiem dlaczego, ale przynajmniej zadziałało.
źródło
W .NET Core udało mi się osiągnąć to samo rozwiązanie, które opisano w zaakceptowanej odpowiedzi, wpisując w konsoli menedżera pakietów:
źródło
Miałem ten sam problem i wypróbowałem większość rozwiązań dostarczonych przez innych ludzi, ale zadziałało w przypadku poniższych kroków. Mam VS 2017.
Kroki:
następnie utwórz klasę jako
i na końcu wykonaj
Co mi się nie udało:
: Ponowne uruchamianie VS.
: tylko polecenie „Enable-Migrations”, które jest bez -EnableAutomaticMigrations.
: przywracanie lub aktualizowanie Menedżera pakietów Nuget.
Mój pierwotny błąd na początku to
/ * Termin „włączanie migracji” nie jest rozpoznawany jako nazwa polecenia cmdlet, funkcji, pliku skryptu ani programu działającego. Sprawdź pisownię nazwy lub, jeśli ścieżka została dołączona, sprawdź, czy ścieżka jest poprawna i spróbuj ponownie. W linii: 1 znak: 1 + włącz-migrację + ~~~~~~~~~~~~~~ ~~ + CategoryInfo: ObjectNotFound: (enable-migration: String) [], CommandNotFoundException * /
źródło
Miałem ten sam problem i stwierdziłem, że jest to spowodowane niektórymi znakami w ścieżce projektu, takimi jak [lub] Poprawiam ścieżkę projektu i działa dobrze!
źródło
Enable-Migrations -EnableAutomaticMigrations
źródło
Ponieważ miałem już folder migracji, zrestartowałem Visual Studio i uruchomiłem Update-Database -verbose w konsoli menedżera pakietów. To zadziałało dla mnie
źródło
Wypróbowałem wszystkie powyższe sugestie, ale nic mi nie pomogło, potem zaktualizowałem
Nuget Package Manager
i zadziałało.źródło
Zainstaluj platformę Entity do bieżącego projektu przy użyciu poniższego polecenia: PM> Install-Package EntityFramework -IncludePrerelease
Dodaj klasę „MyDBContext” w folderze Model, jak podano poniżej:
public class MyDBContext: DbContext {public MyDBContext () {}}
Teraz włącz migracje dla bieżącego projektu za pomocą poniższego polecenia: PM> enable-migrations
źródło
uruchom jako administrator vs = >> otwórz Otwórz projekt
źródło
W VS 2013 spróbuj zainstalować UPDATE 1 (RC1), a problem zostanie rozwiązany.
źródło
Miałem wiele projektów w rozwiązaniu, ale miałem ustawiony prawidłowy projekt domyślny, więc pomyślałem, że powinien działać.
W końcu musiałem dodać
-StartupProject MyProjectName
opcję do poleceniaźródło
Żadne z tych rozwiązań nie działało dla mnie. Moim rozwiązaniem było usunięcie
packages/EntityFramework.6.1.3
iRestore NuGet Packages
Zauważyłem, że
packages/EntityFramework.6.1.3/tools/EntityFramework.psd1
brakowało, więc to była prawdopodobna przyczyna. Jak to zostało usunięte w pierwszej kolejności, chociaż nie mam pojęcia.źródło
Sprawdź, czy sekcja konfiguracji „entityFramework” istnieje i jest opisana w Twoim pliku .config
źródło
Sprawdź wersję Entity Framework.
jeśli jest to 6.3, obniż go do 6.2 i powinno działać dobrze
źródło
Właśnie miałem ten sam problem w asp.net core VS2019
To rozwiązało problem:
Nie zapomnij ustawić domyślnego projektu w konsoli Menedżera pakietów na projekt bazy danych na wypadek, gdyby był inny.
Podczas wykonywania migracji domyślny projekt również wydaje się odgrywać rolę. W późniejszym kroku pomogło to zainstalować to w moim głównym projekcie startowym (nie w projekcie bazy danych EF):
źródło
w przypadku tworzenia projektu sieci Web MVC Podczas tworzenia projektu należy wybrać opcję Uwierzytelnianie. domyślnie nie jest zaznaczone.
źródło
downgrade do 6.2 pomógł mi.
.NET Framework w wersji 4.6.1
Projekt w starym formacie (inny niż .NET Standard)
Program Visual Studio powinien być otwarty z prawami administratora do początkowej migracji.
Wydaje mi się, że EF z wersją powyżej 6.2 wymaga najnowszego .NET Framework.
źródło
Sprawdź, czy projekt jest otwarty w oknie Eksplorator rozwiązań.
To może być przyczyną twojego problemu.
źródło