I comandi EF7 non funzionano in VS2015 CTP 6

asp.net-mvc-5 entity-framework-core

Domanda


Sto cercando di eseguire la migrazione di ef7 sul nuovo progetto di anteprima di asp.net 5.
Passi che ho preso:

  1. Creato un nuovo progetto basato sul modello "ASP.NET 5 preview starter web"
  2. Costruiscilo
  3. Prova il comando 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 ...

Risposta accettata

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 .


Risposta popolare

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.



Related

Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow