【发布时间】:2019-04-26 13:38:10
【问题描述】:
我正在尝试让 Unity3D 与 MongoDB 一起使用,但我遇到了太多版本兼容性问题。
我的 Unity 使用的是 Framework 版本 4.6.1。使用从 NuGet 包管理器下载的 C# 驱动程序 2.8.0。 MongoDB.Driver 包有两个 netstandard1.5 和 net452 文件夹。 MongoDBDriver 有 net452 和 netstandard1.5。同样,MongoDB.driver.Core.2.8.0、Dnsclient 和 MongoDB.Driver.GridFS 具有多个版本的框架特定 .dll。 我的 Unity 设置为 .Net 4.x(脚本运行时版本)和 .Net 标准 2.0 API 兼容性。
使用这些,在编写脚本时无法识别 MongoDB 名称本身。
我从 GitHub (2.8.0) 下载了 C# 驱动程序代码并重新构建了它。复制了net 1.5 版本的.dll,但它也不起作用。
我从https://drive.google.com/file/d/16cLVJi0VZpplSS8MDnRcUeVnYuvxypBm/view 获取了.DLL。它构建良好(运行时版本 .Net 3.5 和 API 兼容标准 2.0)。但它因“未知主机”而失败,可能是由于与 Dnsclient 的一些兼容性问题 - 由 MongoDB.Driver.core 使用。
如果有人知道正确的版本组合或构建过程,请告诉我在 MongoDB C# 驱动程序代码中要修改的特定代码 - 使其与 Unity3D 一起使用。
我在下面的链接中看到了关于类型加载异常的答案。我也遇到过。但这并没有解决我的问题。 C# mod dependency throws 'TypeLoadException' when instantiated?
【问题讨论】:
-
我已经弄清楚如何在 .Net 4.x 中运行 MongoDb。你可以在我的 github 上下载 dll:github.com/Julian23517/Unity-mongo-csharp-driver-dlls 我尽量保持最新。阅读自述文件以了解用法:D