mongo csharp驱动程序版本的问题

时间:2014-06-18 10:45:56

标签: mongodb mongodb-.net-driver

我使用的是mongo csharp驱动程序版本1.9.1。但是,我有这个DLL的问题。例外是:

"无法加载文件或程序集' MongoDB.Bson,Version = 1.9.1.221,Culture = neutral,PublicKeyToken = f686731cfb9cc103'或其中一个依赖项。定位的程序集的清单定义与程序集引用不匹配。 (HRESULT异常:0x80131040)":" MongoDB.Bson,Version = 1.9.1.221,Culture = neutral,PublicKeyToken = f686731cfb9cc103"。

有人有任何建议吗?

提前多多感谢

3 个答案:

答案 0 :(得分:3)

我遇到了同样的问题,由于冲突而发生此错误,您可能在解决方案中添加了多个MonogoDb引用。 解决方案:如果解决方案中有多个项目,请从所有项目中删除MongoDb引用,然后仅添加一个依赖于所有其他项目的项目。它对我有用。

答案 1 :(得分:1)

以Amanullah Tariq的答案为基础;您可能有多个项目引用MongoDb或其驱动程序, HOWEVER; [解决方案] 确保每个项目都使用相同的版本。这就是造成我的错误的原因。如果版本不同,请确保升级或降级版本以匹配。我希望这可以帮助任何一个在未来努力解决这个问题的人。

答案 2 :(得分:0)

对我来说,不可能从所有项目中删除 MongoDB 引用并引用单个项目,因为它是一个实用解决方案,适用于不同的 .net 框架和 .net 核心版本。

所以,我已经使用 nuget 更新了该项目的 mongodb 驱动程序,并且成功了。

其他项目也运行良好。正如,MongoDB Drivers 从公共场所获取参考。

nuget 更新前:

enter image description here

nuget 更新后:

enter image description here

如果任何项目失败,只需将 MongoDB.Driver 版本更新到最新版本即可。

对于 .Net 框架:

检查您的 packages.config 文件,它会是这样的(4.7.2 框架的示例):

<package id="MongoDB.Driver" version="2.12.0" targetFramework="net472" />

对于 .Net Core:<ItemGroup> 中签入 .csproj 文件。像这样:

<ItemGroup>
   ...... // other are deleted just to focus on main part
   <PackageReference Include="MongoDB.Driver" Version="2.12.0" />
</ItemGroup>