我使用的是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"。
有人有任何建议吗?
提前多多感谢
答案 0 :(得分:3)
我遇到了同样的问题,由于冲突而发生此错误,您可能在解决方案中添加了多个MonogoDb引用。 解决方案:如果解决方案中有多个项目,请从所有项目中删除MongoDb引用,然后仅添加一个依赖于所有其他项目的项目。它对我有用。
答案 1 :(得分:1)
以Amanullah Tariq的答案为基础;您可能有多个项目引用MongoDb或其驱动程序, HOWEVER; [解决方案] 确保每个项目都使用相同的版本。这就是造成我的错误的原因。如果版本不同,请确保升级或降级版本以匹配。我希望这可以帮助任何一个在未来努力解决这个问题的人。
答案 2 :(得分:0)
对我来说,不可能从所有项目中删除 MongoDB 引用并引用单个项目,因为它是一个实用解决方案,适用于不同的 .net 框架和 .net 核心版本。
所以,我已经使用 nuget 更新了该项目的 mongodb 驱动程序,并且成功了。
其他项目也运行良好。正如,MongoDB Drivers 从公共场所获取参考。
nuget 更新前:
nuget 更新后:
如果任何项目失败,只需将 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>