ABP项目遇FileNotFoundException:无法加载Volo.Abp.Identity程序集
解决Volo.Abp.Identity.Application.Contracts程序集加载失败问题
检查引用版本一致性
确认Web项目及所有依赖项目中,对Volo.Abp.Identity.Application.Contracts的引用完全指向你本地编译的7.4.2.0版本,无残留的NuGet官方包引用。可通过右键Web项目→管理NuGet程序包,卸载所有同名官方包,确保仅引用本地项目。验证复制本地属性
找到Web项目中对Volo.Abp.Identity.Application.Contracts项目的引用,右键→属性,将复制本地设为True。编译后检查Web项目的bin/Debug/netX.X(或Release)目录,确认该DLL及对应.pdb文件存在,且版本号与错误提示的7.4.2.0一致。清理重建解决方案
彻底清理缓存并重新编译:- 删除所有项目的
bin和obj文件夹 - 在Visual Studio中执行
生成→清理解决方案 - 重启Visual Studio后重新
生成解决方案
此操作可解决旧缓存导致的程序集版本不匹配问题。
- 删除所有项目的
检查目标框架兼容性
确认Volo.Abp.Identity.Application.Contracts项目与Web项目的目标.NET框架版本完全一致(如均为.NET 6.0或.NET 7.0),框架版本不兼容会导致运行时无法正确加载程序集。查看程序集绑定日志
启用.NET程序集绑定日志查看器(Fuslogvw.exe)捕获详细加载失败原因:- 以管理员身份运行
Fuslogvw.exe(Windows搜索栏直接搜索即可) - 点击
设置,选择记录所有绑定失败到磁盘并指定日志目录 - 重新运行Web项目触发错误后,查看日志确认是路径查找错误还是依赖项缺失等具体问题
- 以管理员身份运行
确认模块依赖配置
在Web项目的模块类(继承AbpModule的类)中,确保DependsOn特性已正确添加typeof(AbpIdentityApplicationContractsModule),且无重复引用不同版本模块的情况。
内容的提问来源于stack exchange,提问作者Renanfdo
相关产品推荐
相关产品推荐

