如何将MySql Connector导入Unity Project?

时间:2018-08-28 05:49:43

标签: c# mysql unity3d dllimport mysql-connector

  • 我尝试将基本dll放入unity的资产文件夹中-结果:“等等会导致Unity崩溃错误。”
  • 我尝试过手动添加引用-结果:每当编辑器刷新时,Unity都会刷新其引用,因此毫无价值。
  • 我尝试使用NuGet进行安装-结果:由于它可以处理所有依赖关系而未成功,但我却得到:Assets / Scripts / Developing / TalkToDB.cs(3,7):错误CS0246:类型或名称空间找不到名称“ MySql”。您是否缺少装配参考?

是“使用NuGet然后将dll复制到资产中”的某种组合吗?或类似多余的东西?因为那是关于我的最佳猜测。


此外,我尝试了NuGet软件包的几个旧版本,但均无济于事。 同样,MySql.Data 列在“ Assembly-CSharp”的引用下 而且我使用Unity最新的2018.2.5f1(64bit)将Unity设置为4.X框架 (我真的希望我不必为此放弃4.x。我会错过初始化属性值的过程。)

1 个答案:

答案 0 :(得分:1)

幸运的是,我遇到了这个:

How to get MySql Connector/Net Working with Unity 2017

关于安全问题。我的关键是,我的所有会话都不得从.NET持久保存-将会有 高级PHP脚本,用于更改数据以及任何有关提升权限的内容。

参考:Why you shouldn’t connect your mobile application to a database

除此之外,

  

规则例外。

     

“某些数据库供应商可能已经提供了驱动程序以连接到远程数据库,但到目前为止我还没有发现任何驱动程序。

     

其他例外包括ODBC连接。例如,我听说开发人员在用Java开发应用程序时能够(或至少试图)使用JDBC连接到MySQL数据库。实际上,这与直接使用二进制驱动程序进行连接并不完全相同,但是,它非常接近...”   -2

这正是我要做的,使用MySql Connector与MySql驱动程序进行通讯(我现在对recall the name of感到厌倦(也许它基于ODBC?我可以吗?记得。因此Google。哈哈))

因此,总而言之,使用顶部提供的链接,Unity 2018可以与最新的MySql Connector(s)兼容。

任何Assets文件夹都必须包含:System.Data.dll和MySql.Data.dll(就是这样)

不需要NuGet。

但是错误消息:“加载脚本程序集'Assets / Plugins / MySql / System.Data.dll'失败!” 到目前为止,它显然无法从app.config中引用connectionString,就像Unity外部的普通C#一样。 话虽这么说,我正在寻找Unity的app.config实现或同等的替代方案。


更新:

除了Unity中的一些烦人的dll加载错误,这些错误不会影响任何东西-除了使我烦恼,并浪费了几个字节的RAM一秒钟(大声笑,y'kno); 一切正常,我记得我不关心将应用程序直接连接到数据库的原因是因为用户拥有的唯一权限是执行权限,因此所有过程都将存储在服务器上(通过存储过程),从而保护了即使咳嗽咳嗽咳嗽时,数据库也可以抵御任何潜在的攻击,用户决定“反编译”(甚至是一个单词...?应用。


最终更新:

我发布了here

  

我花了一个星期才终于找到答案...

     

您需要使用:

I18N.dll
I18N.West.dll
I18N.*.dll (Optional, they are region specific)
System.Data.dll
     

来自C:\ Program Files \ Unity \ Editor \ Data \ Mono \ lib \ mono \ 2.0

     

不是BleedingEdge路径。然后它将可以正常工作[在Builds中...]   在最新的Unity 2018.2.14f1中确认   放入Assets文件夹-此外,项目也需要设置为.Net 4.0