ho appena iniziato ad apprendere dot net core 2.0.
quando provo a creare la migrazione:
PM> Add-Migration InitialModel
ottengo errore:
Add-Migration: Eccezione chiamata "Substring" con argomento "1": "StartIndex non può essere inferiore a zero Nome parametro: startIndex" Alla riga: 1 carattere: 1 + Aggiungi-Migrazione InitialModel + ~~~~~~ ~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: NotSpecified: (:) [Add-Migration], MethodInvocationException + FullyQualifiedErrorId: ArgumentOutOfRangeException, Add-Migration
il mio dotnet --info
.NET Command Line Tools (2.0.0)
Informazioni sul prodotto: Versione: 2.0.0 Impegno hash SHA-1: cdcd1928c9
Ambiente di runtime: Nome del sistema operativo: Versione del sistema operativo Windows: Piattaforma del sistema operativo 10.0.15063: RID di Windows: win10-x64 Percorso di base: C: \ Programmi \ dotnet \ sdk \ 2.0.0 \
Host di base condiviso di Microsoft .NET Core
Versione: 2.0.0 Build: e8b8861ac7faf042c87a5c2f9f2d04c98b69f28d
il mio file csproj:
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
<TypeScriptToolsVersion>Latest</TypeScriptToolsVersion>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.0" />
<PackageReference Include="Microsoft.DotNet.Watcher.Tools" Version="2.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.0.0" />
</ItemGroup>
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.0" />
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" />
</ItemGroup>
grazie per l'aiuto!
Ho visto questo errore si verifica se la versione v1.x dei comandi di migrazione di PMC (Package Manager Console) viene caricata in Visual Studio e quindi si tenta di eseguire i comandi su un'applicazione v2.x. Ad esempio, se si crea o si apre un'applicazione ASP.NET Core 1.1 e si crea un'applicazione ASP.NET Core 2.0 nella stessa sessione di Visual Studio.
La soluzione alternativa per questo caso è riavviare Visual Studio prima di lavorare con l'applicazione 2.0.
Secondo Bricelam esiste un meccanismo in NuGet che dovrebbe causare il caricamento della versione più recente dei comandi PMC in Visual Studio, ma sfortunatamente il meccanismo non viene attivato in tutti i casi.