我使用Visual Studio .NET 4.6并且Robomongo连接到我的数据库没有问题
我对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, Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'或其中一个 依赖。系统找不到指定的文件。
答案 0 :(得分:13)
安装缺少的包。使用Package-installer,发出以下命令: Install-Package System.Runtime.InteropServices.RuntimeInformation
答案 1 :(得分:8)
我在这里遇到了同样的问题。修复非常简单:编辑配置文件,然后在名称属性为“ System.Runtime.InteropServices.RuntimeInformation”的“ dependentAssembly”节点上,只需删除publicKeyToken属性即可。
祝你好运
答案 2 :(得分:7)
在我的情况下,我已经安装了System.Runtime.InteropServices.RuntimeInformation,但它一直给我同样的错误。要么抱怨没有找到4.0.0.0,要么我将app.config更新为4.3,它抱怨4.3.0.0丢失了。
但是,在卸载并重新安装多个软件包后,它开始工作,即使安装了System.Runtime.InteropServices.RuntimeInformation的4.3版本,它也要求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>
我不知道为什么,但它最终适合我。
答案 3 :(得分:3)
经过多次实验,似乎 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本身的问题,也许是微软Nuget软件包/版本标记的问题。
答案 4 :(得分:2)
就我而言,该软件包已安装。但是,web.config
文件中的版本不匹配。重新安装软件包可解决此问题。打开您的Package Manager控制台,然后输入
Update-Package System.Runtime.InteropServices.RuntimeInformation -Reinstall
答案 5 :(得分:0)
我在这里遇到了同样的问题。花了几分钟才发现我的问题是我已经更新了nuget包&#34; System.Runtime.InteropServices.RuntimeInformation&#34;,看来MongoDb csharp的驱动程序参考&#39 ; s具有SpecificVersion = true。
删除所有nuget软件包并重新安装,或者只是将其降级到与作为MongoDb驱动程序依赖项安装的版本相同的版本。
祝你好运!答案 6 :(得分:0)
但是看起来很疯狂。 我在Windows Server 2012 R2中遇到了这个问题。
仅安装最新更新才有帮助。 这是“ Windows NET的2018-12安全和质量汇总...”(KB4471989)。