“The call to Server.CreateObject failed while checking permissions. Access is denied to this object”
这只有在VB6中启动dll并访问ASP应用程序时才会出现.在IIS7之前,这将允许您进入VB6 dll.有任何想法吗?
我最近在开发环境中从WinXP到Win7有过相同的经历,并且对我们的一些遗留应用程序产生了同样的悲痛.这就是我修复它的方法.为了清楚起见,我们的经典ASP网站打电话给我们内部的VB6 .dll,我希望能够进入和调试这些.dll文件.
启用32位应用程序
在“应用程序池”部分中,右键单击网站的应用程序池,然后选择“高级设置”.
>将“启用32位应用程序”更改为“True”.
>将“管理的管道模式”更改为“经典”.
ASP认证
正如@GregWoods建议的那样,检查IIS中网站的身份验证详细信息,如下所示:
>匿名身份验证 – 已禁用
> ASP.Net模拟 – 已禁用
>基本身份验证 – 已启用
>表单身份验证 – 禁用
> Windows身份验证 – 已启用
在Visual Basic IDE中运行VB6应用程序并打开Web浏览器;导航到网站,当代码进入外部VB6 .dll时,Visual Basic 6环境现在应停止在代码中设置的断点.塔达
更进一步?
我还希望能够在VS2010或VS2012中调试实际的经典ASP页面…这也是完全可能的,但是还有一个额外的步骤要添加到此列表中,只是为了指示IIS:
在IIS中,单击先前创建的网站,然后在“功能”视图中单击“ASP”.
>展开“调试属性”选项组.
>将“启用客户端调试”更改为“True”.
>将“启用服务器端调试”更改为“True”.
>单击“应用”进行保存. (“操作”窗格的右上角).
然后,为了使Visual Studio在断点处停止,您必须附加到进程:
>转到“工具”菜单,然后选择“附加到处理…”
>将“附加到”选项更改为“自动:本机代码”
>选择“w3wp.exe”进程,然后单击“附加”.
现在,当您在所选浏览器中打开网站并访问您的网站时,IIS和VS2010 / VS2012将协同工作,Visual Studio将停止任何断点.
希望这对你有所帮助.