Sto seguendo strane eccezioni.
Ho già visto il seguente thread di discussione sul downgrade di Microsoft.EntityFrameworkCore.Tools a 1.1.1 che ho già fatto, ma ancora queste eccezioni stanno comparendo.
System.ArgumentNullException: Value cannot be null.
Parameter name: contentRootPath
at Microsoft.EntityFrameworkCore.Utilities.Check.NotEmpty(String value, String parameterName)
at Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations..ctor(IOperationReporter reporter, Assembly assembly, Assembly startupAssembly, String environment, String projectDir, String contentRootPath, String rootNamespace)
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.<>c__DisplayClass4_0.<.ctor>b__4()
at Microsoft.EntityFrameworkCore.Internal.LazyRef`1.get_Value()
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.AddMigrationImpl(String name, String outputDir, String contextType)
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.<>c__DisplayClass3_0`1.<Execute>b__0()
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action)
Qualsiasi organismo può aiutare in questo senso.
È sufficiente notare a posteriori che ho ricevuto questo errore durante il tentativo di eseguire un comando CLI dotnet. Il problema che ho riscontrato è che l'ambiente CLI utilizzava in via predefinita la versione .NET Core 2.0 dei comandi dotnet ed ef ma avevo bisogno di utilizzare la versione .NET Core 1.1 perché era a confronto con le versioni del pacchetto.
Ho scoperto (eseguendo dotnet --info ) che c'era più di una versione di .NET Core SDK installata nell'ambiente e il percorso puntava all'ultimo di default. Per utilizzare la versione precedente ho aggiunto un file global.json nella root della soluzione con il numero di versione specifico. per esempio
{
"sdk": {
"version": "1.1.11"
}
}
e tutto ha funzionato.