IIS 7 调试错误 "strong name validation failed"
摘要
环境:
Vista Ultimate/Business、IIS 7.0、Visual Studio 2008 Beta 2 (en)。
调试方法为,让Visual Studio(除非特殊制定,否则在本文中都表示Visual Studio 2008 Beta 2,下同)不启动任何调试页,而是监视http://localhost/上的请求;在IIS中配置一个站点指向Web目录,并为该目录设置了足够的权限。
问题:
在Visual Studio中按F5启动调试,弹出如下对话框:
---------------------------
Microsoft Visual Studio
---------------------------
Unable to start debugging on the web server. 强名称验证失败。
Click Help for more information.
---------------------------
确定 帮助
---------------------------
(此处出现中文是因为操作系统为中文版。)
原因:
这是由于Visual Studio文件(iisresolver.dll)的强名称验证造成的。禁用其即可。
解决方案:
1 以管理员身份打开命令提示符窗口(如遇UAC提示,请单击“继续”)。
2 定位到sn.exe的目录,运行如下命令:
"<path_to_sn>/sn.exe" -Vr "%ProgramFiles%/Microsoft Visual Studio 9.0/Common7/IDE/iisresolver.dll"
3 当屏幕上出现如下文字后,重新启动Visual Studio即可。
C:/Windows/system32>sn.exe -Vr "C:/Program Files/Microsoft Visual Studio 9.0/Com
mon7/IDE/iisresolver.dll"
Microsoft (R) .NET Framework Strong Name Utility Version 3.5.20706.1
Copyright (c) Microsoft Corporation. All rights reserved.
Verification entry added for assembly 'iisresolver,B03F5F7F11D50A3A'
:本文解决使用 Visual Studio 2008 Beta 2 调试 IIS7 (Vista) 站点时发生的 “Unable to start debugging on the web server. 强名称验证失败。 ” 问题。(英文版提示文字: Unable to start debugging on the web server. Strong name validation failed. )