netcore 1.0.1缺少.NET v4.0.0.0但使用的是v5.6

时间:2017-06-20 06:49:34

标签: c# .net asp.net-core .net-4.0 mysqlconnection

我使用netcore 1.0.1并想要打开MySqlConnection。 如果我使用connection.Open()我得到错误:

  

类型" DbConnection"在网络参考汇编中定义。添加对程序集的引用" System.Data,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089"。

(从德语翻译成英语)

在我的project.json中导入:`

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

这不起作用的原因是什么?我在Nuget-package管理器中找不到任何东西。

1 个答案:

答案 0 :(得分:2)

imports没有做我怀疑你认为它做的事情 - 它实际上并没有导入任何内容,但它说“当你试图解析一个包时,如果它不支持我的< em>实际的目标框架,假装我正在瞄准这些框架“。你应该尽可能少地使用它 - 理想情况下根本不使用它。无论何时使用它,你都会冒这样的问题。

DbConnection而言,您需要依赖System.Data.Common包。您可能还需要其他软件包,但这是包含System.Data.DbConnection的软件包。

但是,如果您使用版本6.10.1-beta或7.0.7-m61,则MySql.Data包支持netstandard1.6 - 在这种情况下,无论如何它都应该引入System.Data.Common。< / p>

我建议你:

  • 删除imports
  • project.json部分
  • 更新为支持.NET Core的MySql.Data版本。 (6.9.9没有。)
  • 理想情况下更新到最终的.NET Core SDK并将project.json迁移到csproj