将Microsoft.EntityFrameworkCore.Tools添加到ASP.NET Core项目

时间:2016-06-28 14:04:19

标签: asp.net-core entity-framework-core

我正在使用dotnet 4.5.2创建一个新的ASP.NET Core项目,并尝试添加对Microsoft.EntityFrameworkCore.Tools的引用。在我的project.json文件中,我在依赖项下列出了这些:

 "Microsoft.EntityFrameworkCore.SqlServer": "1.0.0",
 "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final"

在“参考”下查看,它们似乎已成功加载。然后我在project.json中的工具下添加了这个:

"Microsoft.EntityFrameworkCore.Tools": {
  "imports": [ "portable-net451+win8" ],
  "version": "1.0.0-preview2-final"
}

在我添加之后,当我构建解决方案时,我得到了这个构建错误:

Could not find a part of the path 'C:\Users\(my user name)\.nuget\packages\.tools\Microsoft.EntityFrameworkCore.Tools'

如果删除导入行,我会收到同样的错误。我在这里做错了什么?

5 个答案:

答案 0 :(得分:7)

刚遇到同样的问题。 我通过在包管理器控制台中再次安装工具包来解决了这个问题:

Install-Package Microsoft.EntityFrameworkCore.Tools –Pre

在重新安装之前,.nuget \ packages.tools文件夹中实际上缺少该软件包,重新安装后它就在那里。

我遵循了https://docs.efproject.net/en/latest/platforms/aspnetcore/new-db.html教程,但我认为我以错误的顺序安装了软件包,或者最初忘记在"工具"中引用EF.tools软件包。项目部分json。

答案 1 :(得分:2)

我遇到了同样的问题,刚刚使用Microsoft的EF Core安装指南中的示例解决了问题,检查了他们的GitHub代码,我发现这对于project.json有效。

我不得不从“frameworks”属性中删除导入,这意味着暂时没有Application Insights。完成此操作并构建后,该文件夹出现在tools文件夹中。对不起,我不擅长在这里发布代码,但这里有重要的部分,...用来修剪我其他东西的帖子:

"dependencies": {
...
"Microsoft.EntityFrameworkCore": "1.0.0",
"Microsoft.EntityFrameworkCore.SqlServer": "1.0.0",
"Microsoft.EntityFrameworkCore.SqlServer.Design": "1.0.0",
"Microsoft.EntityFrameworkCore.Tools": {
  "version": "1.0.0-preview2-final",
  "type": "build"
}  ...},

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

"frameworks": {
"netcoreapp1.0": {

}...

答案 2 :(得分:1)

我遇到了同样的问题,不得不将以下内容添加到我的project.json。

"Microsoft.EntityFrameworkCore.SqlServer.Design": "1.1.0-preview1-final"

唯一的区别是我正在使用新发布的.NET Core 1.1,ASP.NET 1.1和Entity Framework 1.1。

答案 3 :(得分:1)

我有同样的问题并尝试了很多东西。我发现设计和工具需要是相同的版本,但intellisense没有给我两个包共有的选项。然后我找到了这篇文章,并尝试了它的代码。

https://docs.microsoft.com/en-us/ef/core/miscellaneous/cli/dotnet

使用该文章中的以下代码解决了我的问题;

"dependencies": {
  "Microsoft.EntityFrameworkCore.Design": {
    "type": "build",
    "version": "1.0.0-preview2-final"
  }
  "Microsoft.EntityFrameworkCore.Tools": {
    "type": "build",
    "version": "1.0.0-preview2-final"
  },
},
...
"tools": {
  "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final"
},

答案 4 :(得分:0)

我的问题是我有 Microsoft.EntityFrame W orkCore.Tools 而不是 Microsoft.EntityFrame w ork.Tools ,请注意小写 w