Как заставить Unity3D 2018 (или выше) работать с драйвером MongoDB C #? - PullRequest
1 голос
/ 26 апреля 2019

Я пытаюсь заставить Unity3D работать с MongoDB, но у меня слишком много проблем с совместимостью версий.

My Unity с версией Framework 4.6.1. С C # драйвер 2.8.0 загружается из диспетчера пакетов NuGet. Пакет MongoDB.Driver содержит две папки netstandard1.5 и net452. MongoDBDriver имеет net452 и netstandard1.5. Аналогично, существуют MongoDB.driver.Core.2.8.0, Dnsclient и MongoDB.Driver.GridFS с несколькими версиями специфичных для фреймворка .dll. My Unity настроен на совместимость с .Net 4.x (версия сценариев) и API стандарта .Net 2.0.

При этом само имя MongoDB не распознается во время сценариев.

Я скачал код драйвера C # с GitHub (2.8.0) и собрал его заново. Скопировал версию .dll для net 1.5, но она тоже не сработала.

Я взял .DLLs из https://drive.google.com/file/d/16cLVJi0VZpplSS8MDnRcUeVnYuvxypBm/view. Он прекрасно работает (с версией выполнения .Net 3.5 и API-совместимостью стандарт 2.0). Но происходит сбой с «неизвестным хостом», вероятно, из-за некоторой проблемы совместимости с Dnsclient - используется MongoDB.Driver.core.

Пожалуйста, дайте мне знать, если кто-то знает правильную комбинацию версий или процесс сборки, конкретный код для изменения в коде драйвера MongoDB C # - чтобы он работал с Unity3D.

Я видел ответ на исключение при загрузке в ссылке ниже. Я тоже с этим сталкивался. Но это не решило мою проблему. Зависимость C # mod генерирует исключение TypeLoadException при создании экземпляра?

Ответы [ 2 ]

2 голосов
/ 02 мая 2019

Итак, еще раз с объяснением: я понял, как запустить MongoDb в .Net 4.x.(Протестированы Unity 18.3 и 19.1) Вы должны включить эти dll в папку плагинов:

DnsClient.dll  
MongoDB.Bson.dll  
MongoDB.Driver.Core.dll  
MongoDB.Driver.dll  
System.Buffers.dll  

Для подключения к базе данных (заменить имя пользователя, пароль, DATABASE_NAME и localhost (только localhost, если вы размещаете свою базу данных)в другом месте)):

using MongoDB.Driver;

private const string MONGO_URI = "mongodb://username:password@localhost:27017";
private const string DATABASE_NAME = "testDatabase";
private MongoClient client;
private IMongoDatabase db;

client = new MongoClient(MONGO_URI);
db = client.GetDatabase(DATABASE_NAME);

Вы можете скачать dll на моем github: https://github.com/Julian23517/Unity-mongo-csharp-driver-dlls Я стараюсь обновлять его.

0 голосов
/ 26 апреля 2019

первый: скачать драйвер по этой ссылке: http://ge.tt/7xQdxUj2
1.11.0 для Unity 4 или 5. Рекомендуем! Этот драйвер требует уровня совместимости API .NET 2.0 и не будет работать с подмножеством .NET 2.0.

тогда вы можете получить больше информации из этого репо:
https://github.com/janfiess/unity-mongodb

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...