实体框架核心 - 无法添加首次迁移

时间:2017-01-31 17:18:35

标签: visual-studio-2015 entity-framework-core

我正在尝试创建我在Visual Studio 2015中开发的ASP.Net Core项目的第一次迁移。我的解决方案只有一个Project。我的project.json文件位于Project文件夹的根目录中。

我右键单击项目并选择'打开命令行>默认情况下'并输入以下内容:

dotnet ef migrations add InitialDatabase

命令行返回:

No project was found. Change the current working directory or use the --project option.

我尝试了所有不同版本的EntityFrameworkCore和Tools。我的project.json文件如下:

{
  "dependencies": {
    "Microsoft.AspNet.Tooling.Razor": "1.0.0-rc1-final",
    "Microsoft.AspNetCore.Diagnostics": "1.0.1",
    "Microsoft.AspNetCore.Mvc": "1.0.1",
    "Microsoft.AspNetCore.Mvc.TagHelpers": "1.0.1",
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.1",
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.1",
    "Microsoft.AspNetCore.StaticFiles": "1.0.1",
    "Microsoft.EntityFrameworkCore": "1.0.2",
    "Microsoft.EntityFrameworkCore.SqlServer": "1.0.2",
    "Microsoft.EntityFrameworkCore.Design": {
      "type": "build",
      "version": "1.0.2" 
    },
    "Microsoft.EntityFrameworkCore.Tools": {
      "type": "build",
      "version": "1.0.0-msbuild3-final"
    },
    "Microsoft.EntityFrameworkCore.Tools.DotNet": "1.0.0-msbuild3-final",
    "Microsoft.Extensions.Configuration.Json": "1.0.1",
    "Microsoft.Extensions.Logging.Console": "1.0.1",
    "Microsoft.NETCore.App": {
      "type": "platform",
      "version": "1.0.1"
    }
  },

  "tools": {
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final",
    "Microsoft.EntityFrameworkCore.Tools": "1.0.0-msbuild3-final",
    "Microsoft.EntityFrameworkCore.Tools.DotNet": "1.0.0-msbuild3-final"
  },

  "frameworks": {
    "netcoreapp1.0": {
      "imports": [
        "dotnet5.6",
        "portable-net45+win8"
      ]
    }
  },

  "buildOptions": {
    "emitEntryPoint": true,
    "preserveCompilationContext": true
  },

  "runtimeOptions": {
    "configProperties": {
      "System.GC.Server": true
    }
  },

  "publishOptions": {
    "include": [
      "wwwroot",
      "web.config"
    ]
  },

  "scripts": {
    "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
  }
}

非常欢迎任何建议。感谢。

2 个答案:

答案 0 :(得分:5)

"tools": {
  "Microsoft.EntityFrameworkCore.Tools.DotNet": "1.0.0-msbuild3-final"
}

版本1.0.0-msbuild3-final仅适用于基于MSBuild的新项目(不是project.json)。请改用版本1.0.0-preview3-final

答案 1 :(得分:0)

  

dotnet-ef命令已移动。

     

您需要添加引用    Microsoft.EntityFrameworkCore.Tools.DotNet AND    Microsoft.EntityFrameworkCore.Design 到您的依赖项中   project.json,然后将 Microsoft.EntityFrameworkCore.Tools.DotNet 添加到工具部分,你应该很高兴。

引自:http://errummwelluhh.blogspot.com。 我也针对同一个问题here发布了相同的答案。