Sto cercando di eseguire la migrazione di ef7 sul nuovo progetto di anteprima di asp.net 5.
Passi che ho preso:
Add-Migration
nella console di Package Manager Risultato:
Il termine "Add-Migration" non è riconosciuto come nome di un cmdlet, una funzione, un file di script o un programma eseguibile.
Provo anche questo comando:
Install-Package EntityFramework.Commands -Pre
Penso che per il progetto VS 2015 sia ridondante, è stato eseguito, ma ancora Add-Migration non è stato riconosciuto.
Grazie in anticipo per gli indizi ...
I comandi NuGet non funzionano con i progetti ASP.NET 5. È necessario utilizzare le versioni della riga di comando ASP.NET 5 dei comandi. (Ad es. k ef migration add
) Abbiamo un problema aspnet / DNX # 952 aperto per sbloccare questo scenario, ma non ha visto molta attività.
Per ulteriori informazioni sui comandi ASP.NET, vedere Migrazioni post EF7: Comandi ASP.NET .
Ok, so che questa è una vecchia domanda ed è già stata data una risposta tecnica. Cioè, se vuoi aprire il prompt dei comandi e farlo. La causa principale di questo problema è che il modulo PowerShell non si sta inizializzando. C'è una soluzione semplice però. Hai solo bisogno di inizializzare il modulo. Vai al tuo solution explorer. Vai a Riferimenti >> .NETCoreApp, Versione = v1.0 quindi scorri verso il basso fino a trovare Microsoft.EntityFrameworkCore.Tools fai clic destro e mostra le proprietà. Prendi nota del percorso che dovrebbe essere qualcosa di simile
C: \ Users \ YourUserName \ .nuget \ pacchetti \ Microsoft.EntityFrameworkCore.Tools \ 1.0.0-Preview2-finale
Una volta che hai, vai nella posizione del percorso in Esplora file. Dovresti vedere un'altra cartella chiamata strumenti. All'interno di quella cartella vedrai un file .ps1 chiamato init.ps1. Questo è il modulo che dobbiamo inizializzare. Quindi torna a Visual Studio, sto usando VS 2015 pro e Win 10 pro, apri la console di gestione pacchetti. Digitare quanto segue
cd "C: \ Users \ YourUserName \ .nuget \ packages \ Microsoft.EntityFrameworkCore.Tools \ 1.0.0-preview2-final \ tools"
e premere invio. Quindi per inizializzare un modulo in PowerShell devi solo digitare
. . \ Init.ps1
o credo che tu possa semplicemente fare l'intero percorso e ottenere gli stessi risultati così sarebbe
C: \ Users \ YourUserName \ .nuget \ pacchetti \ Microsoft.EntityFrameworkCore.Tools \ Tools \ 1.0.0-Preview2-finali \ init.ps1
Sfortunatamente dovresti farlo ogni volta che compare l'errore, ma non è poi così male se salverai il percorso in un file .txt o lo commenterai da qualche parte nel tuo progetto che è facile da trovare.