2016-11-01 1 views
4

Я не буду с помощью Visual Studio .NET 4.6 и Robomongo имеет проблем с подключением к базе данныхMongoDB клиент бросает FileNotFoundException в mscorlib

Моего импорта для MongoDB

using MongoDB.Driver; 
using MongoDB.Driver.Builders; 
using MongoDB.Bson; 

кода, который осуществляющее:

MongoClient client = new MongoClient("mongodb://localhost"); 
MongoServer server = client.GetServer(); 
MongoDatabase mongoDatabase = server.GetDatabase("GameCollection"); 

полное сообщение об ошибке:

Необработанное исключение типа 'System.IO.FileNotFoundException' произошло в mscorlib.dll

Дополнительная информация: Не удалось загрузить файл или сборку «System.Runtime.InteropServices.RuntimeInformation, Version = 4.0.0.0, Культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a 'или одна из ее зависимостей . Система не может найти указанный файл.

ответ

9

Установите недостающий пакет. Использование пакета-установщик, выпуск следующей команды: Install-Package System.Runtime.InteropServices.RuntimeInformation

+0

Необходимо, чтобы проект был открыт для выдачи команды. –

3

В моем случае я уже System.Runtime.InteropServices.RuntimeInformation установлен, но он продолжал давать мне то же errror. Или жалуйтесь, что 4.0.0.0 не был найден, или если я обновил app.config до 4.3, он жаловался, что отсутствует 4.3.0.0.

Однако, после удаления и reinstalleding несколько пакетов он начал работать, и даже если была установлена ​​версия 4.3 System.Runtime.InteropServices.RuntimeInformation, это потребовало app.config иметь 4.0.1.0

<dependentAssembly> 
    <assemblyIdentity name="System.Runtime.InteropServices.RuntimeInformation" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> 
    <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" /> 
    </dependentAssembly> 

Я понятия не имею, почему, но это, наконец, работает для меня.

2

После долгих экспериментов, кажется web.config необходимо следующее:

работы
<dependentAssembly> 
    <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> 
    <bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" /> 
</dependentAssembly> 
<dependentAssembly> 
    <assemblyIdentity name="System.Runtime.InteropServices.RuntimeInformation" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> 
    <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" /> 
</dependentAssembly> 

Независимо перенаправляет NuGet надевал были неправильными. Возможно, это не проблема MongoDB как таковая, возможно, выпуская пакеты Microsoft Nuget/версии.

0

У меня была такая же проблема здесь. Потребовалось несколько минут, чтобы выяснить, что моя проблема заключается в том, что я обновил пакет nuget «System.Runtime.InteropServices.RuntimeInformation», и кажется, что ссылка на драйвер MongoDb csharp имеет SpecificVersion = true.

Удалите все пакеты nuget и установите его снова или просто перейдите к той же версии, что и в качестве зависимости от драйвера MongoDb.

Удачи вам!