2

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

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

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

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

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

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

4

1 回答 1

2

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

您需要使用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 文件并验证您的程序集。我在这里给出了类似的答案。你也可以参考一下。

希望能帮助到你。

于 2013-11-28T14:19:29.713 回答