ASP.NET MVC项目引用其他项目Redis序列化器web.config无法识别如何解决
根因说明
这个部分绑定报错的核心原因是redisSerializerType的配置格式有误:该配置的规则是完整类名, 程序集名称,你错误地将类所在的命名空间MyProjectLib.Core.Caching.Redis填到了程序集名称的位置,导致运行时找不到对应的程序集。
解决操作
- 先确认
MyProjectLib项目的实际程序集名称:右键MyProjectLib项目 → 点击「属性」→ 切换到「应用程序」标签,查看「程序集名称」字段的值,默认情况下这个值和项目名一致为MyProjectLib,不会是嵌套的命名空间。 - 修改web.config中的配置项,将逗号后的部分替换为你查到的实际程序集名称,示例配置如下:
redisSerializerType="MyProjectLib.Core.Caching.Redis.RedisJsonSerializer, MyProjectLib"
- 额外检查以下几点避免其他问题:
- 右键MVC项目下的
MyProjectLib引用,确认属性里「复制本地」设置为True,保证编译时程序集被正确复制到MVC项目的bin目录 - 确认
RedisJsonSerializer类的访问级别为public,且包含无参构造函数,Redis序列化提供程序实例化时需要调用无参构造 - 清理解决方案后重新全量编译,确保最新的代码被更新到bin目录的dll中
- 右键MVC项目下的
内容的提问来源于stack exchange,提问作者rpmansion
相关产品推荐
相关产品推荐

