2013-08-02 330 views
1

我部署Windows 2008 R2服务器上的ASP.Net MVC 3应用程序。我使用File System从Visual Studio 2010发布了应用程序。我有两个程序集有延迟签名和有效的snk文件。因为它是内部应用程序,所以使用xcopy完成部署。强名称签名无法验证

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

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

描述:在当前web请求的执行过程中发生了未处理的异常。请查看堆栈跟踪以获取有关该错误的更多信息以及源代码的位置。

异常详细信息:System.IO.FileLoadException:无法加载文件或程序集My doneApplication或它的某个依赖项。强名称签名无法验证。程序集可能已被篡改,或者延迟签名,但没有用正确的私钥完全签名。 (来自HRESULT的例外:0x80131045)

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

回答

1

我基本上在我的办公室的WinForms家伙和学习网络。最近我遇到了同样的问题,但得到了解决。我注意到,在我的情况下,我没有在我的机器上安装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。你也可以参考。

希望它有帮助。