You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET 4.6转.NET Core时调用数据层遇Dapper.StrongName加载失败错误

解决.NET Core迁移中Dapper.StrongName找不到的问题

你在把.NET Framework架构的WebAPI迁移到.NET Core时碰到的这个程序集找不到的问题,其实是.NET Core和.NET Framework依赖管理差异导致的常见坑,我来给你一步步捋清楚怎么解决:

  • 核心操作:替换NuGet包
    .NET Core环境下,官方推荐使用不带强命名的Dapper包,而非针对.NET Framework设计的Dapper.StrongName。你需要在数据访问层项目中执行以下操作:

    1. 先卸载旧的强命名包:
      # 使用Package Manager Console
      Uninstall-Package Dapper.StrongName
      # 或者用.NET CLI
      dotnet remove package Dapper.StrongName
      
    2. 安装标准的Dapper包:
      Install-Package Dapper
      # 或者用.NET CLI
      dotnet add package Dapper
      
  • 检查依赖传递与命名空间
    确保逻辑层、WebAPI层要么直接引用了新的Dapper包,要么通过项目引用(依赖数据访问层)自动获取到该依赖。代码里的using Dapper;命名空间不需要修改,因为两个包的命名空间完全一致。

  • 清理缓存并重建项目
    旧的编译缓存经常会引发奇怪的依赖问题:先右键解决方案选择「清理」,然后手动删除所有项目下的bin和obj文件夹,最后重新生成整个解决方案。

  • 移除不必要的绑定重定向
    如果你的旧项目app.config/web.config里有针对Dapper.StrongName的绑定重定向配置,在.NET Core项目里一定要删掉这些节点——.NET Core不依赖这种绑定方式,留着反而会引发冲突。

  • 统一目标框架版本
    确认WebAPI、逻辑层、数据访问层所有项目都设置了相同的.NET Core目标版本(比如.NET 6或.NET 7),避免跨框架引用带来的兼容性问题。

按这些步骤操作后,应该就能解决找不到Dapper.StrongName程序集的问题了。

内容的提问来源于stack exchange,提问作者Craig

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:25:53