2017-08-22 183 views
3

刚刚开始学习dot net core 2.0。ef-core添加迁移不起作用

当我尝试创建迁移:

PM> Add-Migration InitialModel 

我得到错误:

Add-Migration : Exception calling "Substring" with "1" argument(s): "StartIndex cannot be less than zero. Parameter name: startIndex" At line:1 char:1 + Add-Migration InitialModel + ~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [Add-Migration], MethodInvocationException + FullyQualifiedErrorId : ArgumentOutOfRangeException,Add-Migration

我DOTNET --info

.NET Command Line Tools (2.0.0)

Product Information: Version: 2.0.0 Commit SHA-1 hash: cdcd1928c9

Runtime Environment: OS Name: Windows OS Version: 10.0.15063 OS Platform: Windows RID: win10-x64 Base Path: C:\Program Files\dotnet\sdk\2.0.0\

Microsoft .NET Core Shared Framework Host

Version : 2.0.0 Build : e8b8861ac7faf042c87a5c2f9f2d04c98b69f28d

我的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> 

感谢您的帮助!

+0

请参阅[this](https://stackoverflow.com/questions/44178411/error-in-migrations-in-efcore)? –

+0

嗯......这个问题应该在2.0.0中解决。 @ user3373603你能否[提交新问题](https://github.com/aspnet/EntityFrameworkCore/issues/new)? – bricelam

+2

@bricelam好吧,我会创建问题,因为解决方法我添加迁移与开发人员命令提示符'dotnet ef migrations add' – user3373603

回答

1

我所看到的,如果PMC(包管理器控制台)迁移命令的版本1.x版本的Visual Studio中加载,然后尝试进行针对版本2.x应用程序的命令会出现此错误。例如。如果您创建或打开ASP.NET Core 1.1应用程序,然后在同一个Visual Studio会话中创建ASP.NET Core 2.0应用程序。

此案例的解决方法是在使用2.0应用程序之前重新启动Visual Studio。

根据bricelam NuGet中有一种机制会导致PMC命令的新版本加载到Visual Studio中,但不幸的是,在所有情况下都不会触发该机制。

+0

我不相信实际上工作.... – DaImTo