经典的ASP和COM调试

web*_*ad3 2 com iis activex asp-classic

我继承了一个经典的ASP项目和一个随附的VB6组件(ActiveX .dll).

我希望能够通过在我的机器上本地运行它来调试该组件.

我有一台Windows 7 Home Premium(64位)笔记本电脑.

我已在本地设置IIS 7.5(生产正在运行IIS5),但是,当我浏览到该站点(本地)时,我得到:

Active Server Pages error '00000000'
Create object failed
?
An error occured while create object 'OBJECTNAME'
Microsoft VBScript runtime error '800a01ae'
Class does't support Automation: 'ID of object in global.asa
Run Code Online (Sandbox Code Playgroud)

我不是服务器人,所以我没有很多设置IIS的经验.我想在本地设置这个项目,所以我可以使用调试器逐步调试COM对象.

我需要做些什么才能让它运行起来?

就像一个FYI:

在global.asa中,我有以下内容:

<object runat="server" scope="session" id="ABC" progid="prjABC.clsABC"></object>
Run Code Online (Sandbox Code Playgroud)

然后在ASP中我有以下调用:

if ABC.propertyName = True then
Run Code Online (Sandbox Code Playgroud)

...

它失败了.

Kev*_*Kev 8

听起来您的站点运行的应用程序池配置为64位模式(默认值).

右键单击池并选择Advanced Settings:将其切换为32位:

在此输入图像描述

设置Enable 32-Bit ApplicationsTrue.

您可能还需要配置托管管道模式并将其设置为经典,并非所有经典ASP应用程序都在集成模式下运行.