ASP NET CORE无法加载System.Data.SqlClient

时间:2016-02-22 03:29:14

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

我有一个aspnetcore解决方案,我将其拆分为三个项目:

  • Project.Core dnxcore50 主应用程序 - 启动驻留在此处,并具有Project.EF& Project.Model依赖
  • Project.EF dotnet5.4 类libary - dbcontext驻留在此处并具有Project.Model依赖项。 dotnet-ef工具驻留在这里
  • Project.Models dotnet5.4 类库

使用dotnet cli工具(dotnet-ef)我能够成功地将迁移添加到项目中。但是,当我执行更新数据库以应用迁移时,我得到了一个我似乎无法解决的异常。

C:\Users\chris\Documents\project\core\src\Project.EF
dotnet ef database update -s ..\Project.Core
  

无法加载文件或程序集System.Data.SqlClient,   Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'要么   其中一个依赖项。系统找不到指定的文件。

如果有人对如何使这件最终作品有所指导,我们将不胜感激。下面是我的Project.EF project.json

的副本
{
  "dependencies": {
    "Microsoft.EntityFrameworkCore": "1.0.0-*",
    "Microsoft.EntityFrameworkCore.Commands": "1.0.0-*",
    "Microsoft.EntityFrameworkCore.SqlServer": "1.0.0-*",
    "Microsoft.AspNetCore.Hosting": "1.0.0-*",
    "Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.0.0-*",
    "OpenIddict.EF": "1.0.0-*",
    "Project.Models": "1.0.0-*"
  },

  "frameworks": {
    "dotnet5.4": {
      "imports": "portable-net451+win8",
      "dependencies": {
        "System.Data.SqlClient": "4.0.0-*"
      }
    }
  },

  "tools": {
    "dotnet-ef": "1.0.0-*"
  }
}

1 个答案:

答案 0 :(得分:-2)

本设计文档的目的是定义实体框架要求在EF7中使用的SqlClient实现,并支持CoreCLR上的ASP.NET vNext。

实现此目的需要两个单独的组件,System.Data.Common和System.Data.Common的SqlClient实现。本文档涵盖了这两个组件的要求。

<强> https://github.com/aspnet/EntityFramework/wiki/Design-SqlClient-for-EF7