【问题标题】:Strong name signature could not be verified无法验证强名称签名
【发布时间】:2013-08-02 10:46:35
【问题描述】:

我正在 Windows 2008 R2 服务器上部署 ASP.Net MVC 3 应用程序。我使用文件系统从 Visual Studio 2010 发布了应用程序。我有两个具有延迟签名并具有有效 snk 文件的程序集。部署是使用 xcopy 完成的,因为它是内部应用程序。

但一段时间后出现了一些与解决方案相关的更改。我重命名了这两个程序集,但没有更改 snk 文件。现在部署后,我收到以下错误 -

无法加载文件或程序集 MyApplication 或其依赖项之一。无法验证强名称签名。该程序集可能已被篡改,或者它被延迟签名但未使用正确的私钥完全签名。 (HRESULT 异常:0x80131045)

说明:在执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.IO.FileLoadException:无法加载文件或程序集我的 doneApplication' 或其依赖项之一。无法验证强名称签名。该程序集可能已被篡改,或者它被延迟签名但未使用正确的私钥完全签名。 (HRESULT 异常:0x80131045)

有人可以帮我解决这个问题吗?

【问题讨论】:

    标签: strongname hresult assembly-signing


    【解决方案1】:

    我基本上是一个 Winforms 人,在我的办公室学习 Web。最近我遇到了同样的问题,但得到了解决。我注意到,就我而言,我的机器上没有安装Windows SDK for Windows 7 and .NET Framework 4。尝试安装它并重新启动系统。

    您需要使用sn.exe 验证您的程序集。在管理员模式下打开命令提示符

    sn.exe -Vr publicTokenNumber

    以上将验证延迟签名的程序集。 Sn.exe 可以在 C:\Program Files\Microsoft SDKs\Windows\v6.1\binC:\Program Files\Microsoft SDKs\Windows\v6.1\bin\x64 路径中找到。尝试运行这两个 exe 文件并验证您的程序集。我给出了类似的答案here。你也可以参考一下。

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-26
      • 1970-01-01
      • 2011-11-27
      • 1970-01-01
      相关资源
      最近更新 更多