Integrate nhibernate with Unity3D

本文关键字:Unity3D with nhibernate Integrate | 更新日期: 2023-09-27 18:03:56

我正在尝试实现Nhibernate到我的Unity3D项目。

我的主要项目是编译成Unity 3.5 net完整的基类库我的第二个项目(一个与Nhibernate参考)被编译为。net Framework 3.5 (.dll文件部署到asets/Plugins文件夹)我正在使用Nhibernate 3.4.0.4000

Unity3D给出错误:

"[…]无法加载文件或程序集'NHibernate, Version=3.4.0.0, Culture=neutral, PublicKeyToken=aa95f207798dfdb4'或其依赖项之一。"

所以我复制了NHibernate.dll和Iesi.Collections.dll到Assets/Plugins文件夹。

但是会产生另一个错误:

"

未处理异常:System.Reflection.ReflectionTypeLoadException:模块中的类不能被加载。

at (wrapper managed-to-native) System.Reflection。组装:GetTypes (bool)

at System.Reflection.Assembly.GetTypes () [0x00000] in:0

at monoc . csharp . rootnamspace . computenamespaces (System.Reflection.)装配,装配,系统。Type extensionType) [0x00000] in:0

at monoc . csharp . rootnamspace . computenamespace编译上下文ctx,系统。Type extensionType) [0x00000] in:0

at one . csharp . globalrootnamspace . computenamespaces (CompilerContext ctx) [0x00000] in:0

at one . csharp . driver . loadreferences () [0x00000] in:0

at one . csharp . driver . compile () [0x00000] in:0

at one . csharp . driver . main (System.)字符串[]args) [0x00000] in:0

类System. configuration . iconconfigurationsectionhandler无法加载,在System中使用,Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089类System. codedom . compiler . compilerparameters无法加载,在System中使用,Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

"

什么取决于iconfigationsectionhandler,我在哪里可以找到它?

谢谢,

Integrate nhibernate with Unity3D

将编译好的dll文件放在Assets文件夹下,而不是Assets/Plugins文件夹下。如果你使用的是3.4.0版本,在编译之前,打开Logging.cs你需要和更改baseDir字符串从string baseDir = AppDomain.CurrentDomain.BaseDirectory;string baseDir = System.Environment.CurrentDirectory;在第86行。这对这个人有效。

还要确保在Assets文件夹中有. net数据库连接器DLL(MySQL.Data.dll)。

编辑:

还必须从更改Api兼容性级别。Net 2.0子集。Net 2.0 OP.