Mysql .NET 3.5 上的类型加载异常

TypeLoad Exception on Mysql .NET 3.5

我目前正在使用 .NET 3.5 UnityEngine、Mono 并试图为我的项目添加 Mysql 支持。

我从下载 (v2) 中尝试了很多版本作为参考,并将 dll 放在正确的位置,但我遇到了类型加载异常。

平台组装:f:\adt\RustLegacyServer\rust_server_Data\Managed\MySql.Data.dll(此消息无害) TypeLoadException: 无法从程序集 'Test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.

加载类型 'MySQLConnector'

它不想从我的 dll 加载我的 class,因为这是它加载 Mysql dll 或使用它的地方。

知道是什么原因造成的吗?

可能找不到。 f是虚拟光驱还是真实光驱? 您可能会遇到很多问题,如果您从虚拟驱动器加载引用,请为此使用 UNC 路径或真实驱动器。

更好的方法是使用 nuget。它将所有包存储在您的项目所在的同一文件夹中,您可以 select 每次最新版本或您需要的版本。

或者可能是您的 DLL 版本错误。你需要另一个。

感谢贡献者得到了答案

将 "System.Data.dll" 从 "Program Files (x86)\Unity\Editor\Data\Mono\lib\mono\unity" 复制到您在项目树中使用的 DLL 文件夹

可能需要对 "I18N.dll"、"I18N.West.dll" 文件执行此操作。 我为 JSON API 使用 MC System.Data,工作正常,但显然 Mysql 出于某种原因不喜欢 Unity 平台上的那个。 Json 似乎也在使用该 dll。

可能还需要

System.Transactions.dll。如果这些都具备,Unity就不会有问题了