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

求助:Strong Name验证失败引发FileLoadException问题

解决System.IO.FileLoadException(强名称验证失败0x8013141A)

问题详情

未知模块中发生未处理的System.IO.FileLoadException异常。无法加载文件或程序集ServiceName, Version=0.0.0.0, Culture=neutral, PublicKeyToken=5bfb54a682cb6e6d或其依赖项。强名称验证失败。(HRESULT异常: 0x8013141A)

已尝试的无效方法:

  • 执行命令:"C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8.1 Tools\x64\sn.exe" -Vr C:\Code\cfc\bin\ServiceName.dll
  • 添加注册表项:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\StrongName\Verification\ServiceName,5bfb54a682cb6e6d]
  • 在VS命令提示符执行:Sn -Vr *

可行解决方案

1. 验证程序集的公钥令牌匹配性

执行以下命令确认程序集的公钥令牌是否与异常中一致:

sn -T "C:\Code\cfc\bin\ServiceName.dll"

如果输出的公钥令牌不是5bfb54a682cb6e6d,说明程序集未用正确的密钥签名,需重新签名程序集。

2. 适配32位/64位环境

  • 若目标程序是32位,使用x86版本的sn.exe执行验证跳过命令:
"C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8.1 Tools\sn.exe" -Vr C:\Code\cfc\bin\ServiceName.dll
  • 同时检查32位注册表路径是否添加了验证项:
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\StrongName\Verification\ServiceName,5bfb54a682cb6e6d]

3. 清空强名称缓存

执行命令清空强名称验证缓存,再重新注册:

sn -Sc
sn -Vr C:\Code\cfc\bin\ServiceName.dll

4. 检查并清理GAC中的冲突程序集

查看GAC中是否存在同名程序集:

gacutil /l ServiceName

若存在,执行以下命令删除:

gacutil /u ServiceName

5. 以管理员权限执行命令

右键VS命令提示符选择以管理员身份运行,再执行sn -Vr命令,确保权限足够修改注册表。

6. 排查依赖项问题

使用程序集绑定日志查看器(fuslogvw.exe)获取详细绑定失败日志:

  1. 打开VS命令提示符,执行fuslogvw.exe
  2. 配置日志路径,启用“绑定失败的日志记录”
  3. 重现异常,查看日志中具体是哪个程序集或依赖项导致验证失败,针对性解决签名问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 02:13:10