如何配置强命名MongoDB C#驱动版本以解决编译问题?
解决MongoDB C#驱动2.28.0绑定重定向配置位置问题
在.NET Core/.NET 5+(含.NET 8)环境下,绑定重定向的配置方式和.NET Framework完全不同,不能直接写在csproj文件里,这就是你报错的原因。正确的做法是用runtimeconfig.template.json文件来配置:
操作步骤
- 在ASP.NET Core项目根目录创建(如果已存在则直接编辑)
runtimeconfig.template.json文件 - 把绑定重定向规则写入该文件,示例格式如下(根据你的实际依赖调整版本号):
{ "configProperties": { "bindingRedirects": { "MongoDB.Driver": { "2.27.0.0": "2.28.0.0" }, "MongoDB.Driver.Core": { "2.27.0.0": "2.28.0.0" }, "MongoDB.Bson": { "2.27.0.0": "2.28.0.0" } } } }
说明:将旧组件依赖的MongoDB相关程序集版本(比如2.27.0.0)映射到你当前使用的2.28.0版本号,确保所有关联的MongoDB程序集都配置了重定向规则
- 保存文件后重新编译项目,编译时该文件的配置会自动合并到输出目录的
[项目名称].runtimeconfig.json中,绑定规则即可生效。
关键说明
.NET Core及后续版本已经摒弃了.NET Framework中csproj或web.config里的绑定重定向写法,csproj仅负责项目构建和依赖管理,运行时的程序集绑定规则由runtimeconfig系列文件控制,所以你之前将配置放入csproj会报错。
额外排查点
如果配置后仍有问题,先通过dotnet list package命令检查项目中所有MongoDB相关包的版本,确保统一为2.28.0;另外确认重定向的版本号和旧组件实际引用的版本完全匹配,版本号的四位数字(主.次.建.修订)都要对应准确。
内容的提问来源于stack exchange,提问作者Ingmar
相关产品推荐
相关产品推荐

