Sto usando l'ultimo aggiornamento VS2017 con donet core 1 Provo a creare una migrazione ef al mio progetto con il comando dotnet ef
ma ottengo
dotnet : No executable found matching command "dotnet-ef"
Quindi rimuovo qualsiasi riferimento a EntityFrameworkCore dalla mia libreria di classi csproj (.Net Core) e desidero aggiungere il pacchetto Microsoft.EntityFrameworkCore.Tools.DotNet 1.0.1. Tuttavia mi rifiuto e ottengo il seguente errore
Codice di gravità Descrizione Pacchetto di errore Stato file di soppressione riga file progetto 'Microsoft.EntityFrameworkCore.Tools.DotNet 1.0.1' ha un tipo di pacchetto 'DotnetCliTool' che non è supportato dal progetto 'MyVS2017Project'. 0 l'ho provato anche in una libreria di classi (.Net Framework)
Stesso messaggio di errore quando si utilizza il comando Console gestore pacchetti
Pacchetto di installazione Microsoft.EntityFrameworkCore.Tools.DotNet
Ho provato a modificare il file csproj direttamente e aggiungendo
<ItemGroup>
<DotNetCliToolReference
Include="Microsoft.EntityFrameworkCore.Tools.DotNet"
Version="1.0.0" />
</ItemGroup>
ma dotnet ef fornisce ancora lo stesso messaggio di errore e il gestore pacchetti nuget non lo vede
Ho provato a creare una nuova libreria di classi core dot net, ma anche quella vuota si rifiuta di installare gli strumenti
Ho eseguito dotnet ripristinare più volte e riavviato Visual Studio.
Ho scaricato l'ultimo dot net SDK 1.0.4 ed eseguo la riparazione per reinstallarlo. Ciò consente l'installazione del pacchetto nuget, ma nonostante tutto ciò che faccio non riesco a capire come dotnet ef
abbia la libreria di classi
Il mio progetto ha come obiettivo il framework .NET completo, quindi posso usare solo i comandi di PowerShell, ad esempio add-migration, update-database e non i comandi ef dotnet
Microsoft.EntityFrameworkCore.Tools.DotNet
deve essere aggiunto alla libreria delle classi modificando il progetto. Questo è l'unico modo per aggiungerlo ora è supportato. Fare clic con il pulsante destro del mouse sul progetto e selezionare Edit *.csproj
. Quindi, aggiungere il seguente:
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0-preview2-final" />
</ItemGroup>
Nota: la versione è la più recente al momento di questo post e probabilmente cambierà in futuro.
Ho una soluzione più approfondita qui: EF 7 Migrazioni con più DBContexts