【问题标题】:Mono throws Exception when trying to connect to MySQL-databaseMono 在尝试连接到 MySQL 数据库时抛出异常
【发布时间】:2016-06-21 14:31:02
【问题描述】:

我有一个简单的应用程序 (.NET 4.5.2),它使用 .NET/Mono 的 MySQL 驱动程序 (v6.9.8)。它在 .NET (Windows) 上完美运行,但在我调用 Connect 方法后立即在 Ubuntu (Mono v4.2.1) 上引发异常。

2016-06-21 16:21:19,659 [1] WARN  MySql.DatabaseDriverMySql [(null)] - System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.IO.FileNotFoundException: Could not load file or assembly 'System.Management, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
File name: 'System.Management, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
  at System.Reflection.MonoProperty.GetterAdapterFrame[T,R] (System.Reflection.Getter`2 getter, System.Object obj) <0x7f65f01aece0 + 0x00039> in <filename unknown>:0
  at System.Reflection.MonoProperty.GetValue (System.Object obj, System.Object[] index) <0x7f65f01aef20 + 0x000d9> in <filename unknown>:0
  --- End of inner exception stack trace ---
  at System.Reflection.MonoProperty.GetValue (System.Object obj, System.Object[] index) <0x7f65f01aef20 + 0x00117> in <filename unknown>:0
  at MySql.Data.MySqlClient.NativeDriver.SetConnectAttrs () <0x40e6a2f0 + 0x00138> in <filename unknown>:0
  at MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.Authenticate (Boolean reset) <0x40e69830 + 0x0016b> in <filename unknown>:0
  at MySql.Data.MySqlClient.NativeDriver.Authenticate (System.String authMethod, Boolean reset) <0x40e68320 + 0x000af> in <filename unknown>:0
  at MySql.Data.MySqlClient.NativeDriver.Open () <0x40e5c9d0 + 0x00787> in <filename unknown>:0
  at MySql.Data.MySqlClient.Driver.Open () <0x40e5c980 + 0x0003b> in <filename unknown>:0
  at MySql.Data.MySqlClient.Driver.Create (MySql.Data.MySqlClient.MySqlConnectionStringBuilder settings) <0x40e56be0 + 0x00173> in <filename unknown>:0
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.IO.FileNotFoundException: Could not load file or assembly 'System.Management, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
File name: 'System.Management, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
  at System.Reflection.MonoProperty.GetterAdapterFrame[T,R] (System.Reflection.Getter getter, System.Object obj) <0x7f65f01aece0 + 0x00039> in <filename unknown>:0
  at System.Reflection.MonoProperty.GetValue (System.Object obj, System.Object[] index) <0x7f65f01aef20 + 0x000d9> in <filename unknown>:0
  --- End of inner exception stack trace ---
  at System.Reflection.MonoProperty.GetValue (System.Object obj, System.Object[] index) <0x7f65f01aef20 + 0x00117> in <filename unknown>:0
  at MySql.Data.MySqlClient.NativeDriver.SetConnectAttrs () <0x40e6a2f0 + 0x00138> in <filename unknown>:0
  at MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.Authenticate (Boolean reset) <0x40e69830 + 0x0016b> in <filename unknown>:0
  at MySql.Data.MySqlClient.NativeDriver.Authenticate (System.String authMethod, Boolean reset) <0x40e68320 + 0x000af> in <filename unknown>:0
  at MySql.Data.MySqlClient.NativeDriver.Open () <0x40e5c9d0 + 0x00787> in <filename unknown>:0
  at MySql.Data.MySqlClient.Driver.Open () <0x40e5c980 + 0x0003b> in <filename unknown>:0
  at MySql.Data.MySqlClient.Driver.Create (MySql.Data.MySqlClient.MySqlConnectionStringBuilder settings) <0x40e56be0 + 0x00173> in <filename unknown>:0

【问题讨论】:

  • 我们说的是单声道吗?还是这是 ios/android?

标签: c# mysql .net mono


【解决方案1】:

无法加载文件或程序集“System.Management,版本=4.0.0.0

System.Management 是一个仅适用于 Windows 的库。 如果 MySQL 连接器驱动程序突然开始依赖这个库,那就太糟糕了。 IIRC Mysql .NET 连接器一直与 Mono 一起使用,因此我们需要将此问题报告为回归。

【讨论】:

  • MySQL .NET 驱动程序的最后一个工作版本是 6.4.6,从 6.5.7 开始,它似乎不再与 Mono 一起工作......有点奇怪,因为 MySQL 说这些是 Mono 驱动程序! ?
  • 请报告给Oracle/Mysql的错误跟踪系统
【解决方案2】:

向 MySQL 报告了该错误。链接:https://bugs.mysql.com/bug.php?id=81973

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-26
    • 2018-11-06
    • 1970-01-01
    相关资源
    最近更新 更多