MySql.Data 版本的 MySqlBackup.NET 问题

Posted

技术标签:

【中文标题】MySql.Data 版本的 MySqlBackup.NET 问题【英文标题】:MySqlBackup.NET issue with MySql.Data version 【发布时间】:2019-12-01 12:44:36 【问题描述】:

我有一个使用 mysql 作为数据库的 winforms 应用程序。我使用包 MySqlBackup.NET 在应用程序中执行备份任务。

现在我将 MySQL 连接器更新到 8.0.17 版,将 MySqlBackup.NET 更新到 2.3.0 版,这是最新的稳定版本。

问题是,当我尝试使用 MySqlBackup.NET 执行备份时,我收到一条错误消息:“无法加载文件或程序集 MySql.Data,版本 = 8.0.16.0” .

换句话说:MySqlBackup.NET 正在尝试定位 MySql.Data 版本 8.0.16.0 并且失败了,因为我拥有的是 8.0.17。

这对我来说毫无意义。毕竟,MySqlBackup.NET 版本 2.3.0 的依赖关系表明它需要大于或等于 8.0.16.0 的 MySql.Data 版本,我已经清楚地满足了这一点。

我能做些什么来解决这个问题?我最初的想法是在 GitHub 上克隆 MySqlBackup.NET 的存储库,更新对 8.0.17 的引用并自己构建它,但我认为这可能是最后的选择。

【问题讨论】:

你试过绑定重定向吗? 事实上我不知道这个功能,感谢@mjwills 指出它。我已经用谷歌搜索过了,如果我明白了,我需要在 App.config 中添加一个 dependentAssemblyassemblyIdentityMySql.Data 并在其中添加一个从旧版本 8.0.16.0 到 8.0.17.0 的 bindingRedirect。是这样吗?如果是,我已经尝试过了,不幸的是它没有用 - 同样的错误。到目前为止,唯一可行的方法是克隆 GitHub 存储库并在那里更新 MySql.Data 引用。 酷 - 感谢您检查@user1620696。 【参考方案1】:

MySqlBackup.NET 的源代码只有几个文件和文件夹。

您可以简单地将源代码直接添加到您的项目中。然后,您可以随意使用任何版本的 MySql.Data。

【讨论】:

以上是关于MySql.Data 版本的 MySqlBackup.NET 问题的主要内容,如果未能解决你的问题,请参考以下文章

Nuget下载 MySql.Data 连接MySql数据库

BLToolkit-mysql-connector 异常:无法加载文件或程序集 MySql.Data,版本 = 6.9.7.0

四.MySQL安装:二进制安装(5.6版本)

mysql5.7版本在window下安装正确步骤

从 Github 源打开 MySQL.Data 源

利用Xtrabackup工具在线部署MySQL 8.0主从复制