0

我使用 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 包管理器中找不到任何东西。

4

1 回答 1

2

imports没有做我怀疑你认为它做的事——它实际上并没有导入任何东西,但它说“当你试图解析一个包时,如果它不支持我的实际目标框架,假装我是针对这些框架”。您应该尽可能少地使用它——理想情况下根本不用。任何时候你使用它,你都冒着这种问题的风险。

在 方面DbConnection,您需要依赖System.Data.Common包。您可能还需要其他软件包,但那是包含System.Data.DbConnection.

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

我建议你:

  • 删除imports你的部分project.json
  • 更新到MySql.Data支持 .NET Core 的版本。(6.9.9 没有。)
  • 理想情况下更新到最终的 .NET Core SDK 并将您的也迁移project.jsoncsproj
于 2017-06-20T07:08:42.977 回答