我的英语不好,但我正在尽力描述我的问题。我已经复制了I18N.dll、I18N.CJK.dll、I18N.West.dll和System.Data.dll
D:\Program Files\Unity\Editor\Data\Mono\lib\mono\2.0
,
但很快就出现了如下错误:
错误CS1703:已导入具有等效标识的多个程序集:“D:\GSS Project\Assets\Plugins\System.Data.dll”和“D:\Program Project\Assets\Plugins\System.Data.dll”删除其中一个重复的引用。
而且,在另一个目录中也发生了相同的异常:
D:\Program Files\Unity\Editor\Data\NetStandard\compat\2.0.0\shims\netfx\
当时,为了解决这个问题,我删除了两个目录中的System.Data.dll,然后就可以使用Visual Studio2017中的命名空间System.Data了。但是当我使用System.Data.ConnectionState
时,出现了另一个错误:
Assets\Scripts\DBConnection.cs(39,35):error CS0433:类型'ConnectionState‘同时存在于'System.Data,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089’和'netstandard,Version=2.0.0.0,Culture=neutral,PublicKeyToken=cc7b13ffcd2ddd51‘
中
在尝试了许多方法之后,我发现如果我进入
Edit --> Project Settings --> Player --> Other Settings --> Configuration --> Api Compatibility Level
并将.Net标准2.0版本转换为.Net 4.x版本,可以避免这个错误。但是这种方法是正确的吗?这样做之后,我仍然无法访问数据库,因为发生了许多异常(其中大多数是关于SqlConnection
的)。
我的方法可能有很多问题,但谁能告诉我什么是正确的方法?
非常感谢。
发布于 2019-06-10 00:36:01
正如用户在评论中所说,使用dll直接连接并不安全,使用php互连更安全更好。
(特别是如果你正在考虑在WEBGL平台上发布,在构建游戏之后,你将很难让sql连接工作,这就是我目前卡住的地方)
话虽如此,
你得到这个异常是因为
“系统..”
存在两次,则不需要在资源中包含system.Data.dll。
擦除System.Data.dll,您只需要已有的I18N文件和
MYSQL.data.dll,GoogleProtofub和bouncyCasteCrypto。
还要将NET版本改回4X.V2。
最后,您可以从mysql官方网站找到MYSQL连接器/网络文件。
我希望这能帮到你。如果有其他错误,请让我知道。
https://stackoverflow.com/questions/54986676
复制相似问题