Подключение к MongoDB из функции Azure

У меня проблема с подключением к MongoDB из функции C#, работающей в Microsoft Azure. Функция запускается по времени, она должна собрать некоторые данные из MongoDB и поместить их в очередь хранения.

Я добавил зависимости mongoDB в файл project.json, и вот как выглядит файл:

{
  "frameworks": {
    "net46":{
      "dependencies": {
        "MongoDB.Bson": "2.4.2",
        "MongoDB.Driver": "2.4.2",
        "MongoDB.Driver.Core": "2.4.2",
        "System.Runtime.InteropServices.RuntimeInformation": "4.0.0"
      }
    }
  }
}

Однако, когда я звоню:

MongoClientSettings settings = MongoClientSettings.FromUrl(new MongoUrl(conn));
settings.SslSettings = new SslSettings() { EnabledSslProtocols = SslProtocols.Tls12 };
var client = new MongoClient(settings);

Я получаю сообщение об ошибке после вызова последней строки:

mscorlib: Exception has been thrown by the target of an invocation. MongoDB.Driver.Core: Could not load file or assembly 'System.Runtime.InteropServices.RuntimeInformation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.

Я проверил, и.net версия 4.6, так что не должно быть никаких проблем с этим. Есть ли что-то еще, что я пропускаю.

1 ответ

Решение

Я немного покопался в их проблемах с JIRA и нашел вопрос о JIRA. Я вернул MongoDB.DriverMongoDB.Driver.Core а также MongoDB.Bson до версии 2.3.0, и она работает как хорошо настроенные часы, так что, похоже, проблема в самом пакете Mongo.

Я протестировал его с разными версиями пакета, и проблема появилась в версии 2.4.0. Все предыдущие версии работают хорошо.

Другие вопросы по тегам