使用与安装的连接器不同的 MySql.Data 版本

Use a version of MySql.Data different than installed connector

我正在寻找一个解决方案(如果可能的话)来使用比开发机器上安装的连接器更新的 MySql.Data 版本。

例如,我们的调试中出现了一些 Mysql 错误的问题(EF6 正在将 StartsWith() 转换为 SQL Locate()),即使据说它已修复在项目 (6.9.5) 中存在的 DLL 中。

当我们使用安装了 6.9.5 连接器(在 Program Files 中)的机器对其进行测试时,它工作正常。

现在,我意识到我们应该安装最新的连接器,但我们有时(即使很少)也不得不使用一些旧版本。或者我们必须在没有时间等待管理员授权我们安装新连接器的情况下修复某些问题。

所以问题是,有没有办法强制使用项目引用中实际存在的 DLL,无论机器上安装了哪个?

还有一个额外的问题,如果我们安装了最新的连接器并打开一个包含较旧 DLL 的项目,会发生什么情况?它会使用已安​​装的还是仅当项目中的 DLL 更新时才使用?

编辑:

正如现已删除的评论所指出的,项目不应该使用属性中引用的 DLL 吗?这是通过 NuGet 安装并指向 Packages 文件夹。

我有一个项目(与 2013 相比)使用 v6.5.5.0(因为部署它的服务器),同时我在我的机器上更新到最新版本。 这就是我所做的:将 dll 从服务器复制到我的机器,添加对项目的引用,在属性 "Copy Local = true" 中设置,一切正常。从来没有问题。

我觉得强制的方法是设置"Copy Local=true",每次都要使用引用的dll。