Console di gestione pacchetti Enable-Migrations CommandNotFoundException solo in un progetto VS specifico

Ho provato a eseguire il comando ‘Enable-Migrations’ in un nuovo progetto e ho ricevuto il messaggio:

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 

Ma in tutti gli altri progetti il ​​comando funziona bene.

Perché sta succedendo?

A proposito, sto usando VS2010 Professional SP1

EDIT: ho reinstallato con il comando: Install-Package EntityFramework -IncludePrerelease e il problema è andato via.

Semplicemente riavviare Visual Studio ha funzionato per me. Non è necessario installare pacchetti, ecc.

Ho reinstallato con il comando: Install-Package EntityFramework -IncludePrerelease e il problema è andato via.

Il riavvio di Visual Studio con privilegi di amministratore ha risolto il problema per me.

Questo problema si verifica perché non è installato Entity Framework. Installa Entity Framework utilizzando il comando seguente.

 Install-Package EntityFramework -IncludePrerelease 

Una volta installato, selezionare il progetto nel menu a discesa predefinito della console manger pacchetto.

Assicurati che almeno una class nel tuo progetto erediti dal contesto dei dati, altrimenti usa la class seguente:

 public class MyDbContext : DbContext { public MyDbContext() { } } 

Se non lo facciamo, otterremo un altro errore:

No context type was found in the assembly

Dopo aver completato queste cose puoi correre

 enable-migrations 

Assicurati di eseguire Visual Studio come amministratore.

Il primo “Install-Package EntityFramework -IncludePrerelease” e il riavvio di Visual Studio come amministratore hanno funzionato insieme.

In Visual Studio 2012 ho avuto lo stesso errore. Ho dovuto disinstallare NuGet (Strumenti> Estensioni e aggiornamenti> Installato> Tutto: NuGet Package Manager: pulsante Disinstalla). Quindi chiuso Visual Studio. Quindi riaprire Visual Studio e reinstallare NuGet (Strumenti> Estensioni e aggiornamenti> Online> Galleria Visual Studio: NuGet Package Manager: pulsante Download). Quindi, nelle seguenti windows: fare clic sul pulsante Installa, quindi fare clic sul pulsante Chiudi. Quindi chiudi e riapri Visual Studio.

In .NET Core, sono stato in grado di raggiungere la stessa risoluzione descritta nella risposta accettata, inserendo quanto segue nella console del gestore pacchetti:

 Install-Package EntityFramework.Core -Pre 

Ho avuto lo stesso problema e ho scoperto che è a causa di alcuni personaggi nel percorso del progetto come [o] ho corretto il percorso del progetto e ha funzionato bene!

Ciò che ha risolto questo problema per me (VS2013) è la disinstallazione, quindi reinstallare il pacchetto EF con Nuget. La differenza nel file csproj ha cambiato questo …

  ..\packages\EntityFramework.6.1.1\lib\net45\EntityFramework.dll  

… in questo …

  False ..\packages\EntityFramework.6.1.1\lib\net45\EntityFramework.dll  

Non capisco ancora perché, ma ha funzionato almeno.

Enable-Migrations -EnableAutomaticMigrations

Poiché avevo già una cartella di migrazione, riavviavo Visual Studio e lanciavo Update-Database -verbose nella console del gestore pacchetti. Questo ha funzionato per me

Ho provato tutti i suggerimenti sopra ma non ha funzionato per me, quindi ho aggiornato Nuget Package Manager e ha funzionato ..

  1. Installare Entity framework nel progetto corrente utilizzando il comando seguente: PM> Install-Package EntityFramework -IncludePrerelease

  2. Aggiungi una class “MyDBContext” nella cartella Model come indicato di seguito:

    public class MyDBContext: DbContext {public MyDBContext () {}}

  3. Ora abilita le migrazioni per il progetto corrente con il comando seguente: PM> enable-migrations

Ho avuto lo stesso problema e ho provato la maggior parte della soluzione fornita da altre persone, ma ha funzionato con i seguenti passaggi. Ho VS 2017.

passi:

 Install-Package EntityFramework -IncludePrerelease 

quindi crea una class come

 public class MyDBContext : DbContext { public MyDBContext() { } } 

e all’ultima esecuzione

 Enable-Migrations -EnableAutomaticMigrations 

Cosa non ha funzionato per me:

: Riavvio VS.

: solo il comando “Enable-Migrations”, che è senza -EnableAutomaticMigrations.

: ripristino o aggiornamento di Nuget Package Manager.

Il mio errore originale all’inizio era

/ * Il termine ‘enable-migration’ non è riconosciuto come nome di un cmdlet, funzione, file di script o programma eseguibile. Controlla l’ortografia del nome, o se è stato incluso un percorso, verifica che il percorso sia corretto e riprova.A linea: 1 carattere: 1 + enable-migration + ~~~~~~~~~~~~~~ ~~ + CategoryInfo: ObjectNotFound: (enable-migration: String) [], CommandNotFoundException * /

In VS 2013, provare ad installare UPDATE 1 (RC1) e il problema è risolto.

Avevo più progetti nella soluzione, ma avevo impostato il corretto progetto predefinito, quindi ho pensato che avrebbe dovuto funzionare.

Alla fine, ho dovuto aggiungere l’opzione -StartupProject MyProjectName al comando

Nessuna di queste soluzioni ha funzionato per me. La mia soluzione era eliminare i packages/EntityFramework.6.1.3 e Restore NuGet Packages

Ho notato che packages/EntityFramework.6.1.3/tools/EntityFramework.psd1 , quindi questa era una probabile causa. Come è stato rimosso in primo luogo, anche se non ne ho idea.

Controlla se la sezione di configurazione “entityFramework” esiste e descritta nel tuo file .config

   

Controlla se il progetto è aperto nella finestra Esplora soluzioni.

Questa potrebbe essere la causa del tuo problema.