Sto lavorando a un progetto che è stato creato utilizzando una versione di dotnet core utilizzando un file project.json. Sono stato in grado di aggiungere migrazioni di database e creare un database utilizzando i comandi cli dotnet ef in VS Code (aggiungere migrazioni, aggiornamento, ecc.).
Tuttavia, recentemente ho migrato il progetto utilizzando il comando dotnet migrate, quindi ora il mio progetto ha un file .csproj. Devo aggiungere altre migrazioni di database, ma quando eseguo i comandi cli, viene visualizzato un errore che indica che il file project.json non è stato trovato.
Ho esaminato la documentazione online (e ho cercato nel web) e non riesco a trovare nulla che mi dica cosa potrei aver perso. FWIW, ecco i possibili pacchetti rilevanti nel mio file .csproj:
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="1.1.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="1.1.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="1.1.0" />
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="1.1.0-preview4-final" />
Sono state rilasciate nuove versioni degli strumenti per il nuovo modo di fare .csproj
. Dovrai modificare la versione di Microsoft.EntityFrameworkCore.Tools.DotNet
da 1.1.0-preview4-final
a 1.0.0-msbuild3-final
.
Puoi vedere le diverse versioni più recenti qui su Nuget.
Se non hai bisogno degli strumenti "dotnet ef" in particolare puoi anche utilizzare la versione integrata di VS Powershell (Se hai bisogno degli strumenti di dotnet ef forse il post di steamrolla qui sotto può aiutarti):
Io uso i seguenti riferimenti al pacchetto:
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="1.1.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="1.1.0-preview4-final" />
Con questi set di riferimenti, è possibile utilizzare EF-Tools (Add-Migration, Update-Database, ...) dalla console di Gestione pacchetti.