【发布时间】:2013-03-04 09:41:59
【问题描述】:
我有一个用 C# 编写的 .NET、COM 可见 DLL,我从经典 ASP 页面调用它。
在 32 位 Win Server 2003 和 IIS 6 上一切正常,但我无法让它在我的 64 位开发机器(Win7、IIS 7.5)上运行。
我收到以下错误:
Microsoft VBScript 运行时错误“800a01ad”
ActiveX 组件无法创建对象
上线失败
设置 objMyDll = Server.CreateObject("MyDLL.ProgId")
我使用 regasm /codebase 注册了我的 DLL,并且在注册表中看起来一切正常。
我也尝试了regasm /tlb 并将 DLL 放入 GAC 中无济于事。
我在 IIS 中启用了 32 位应用程序。
我在应用程序池中尝试了经典模式和集成模式。
我的 DLL 没有引用任何其他 DLL。
【问题讨论】:
-
您知道您使用的是 32 位还是 64 位 regasm?有关正确位置,请参阅此之前的 SO 帖子:stackoverflow.com/questions/372140/…
-
感谢 AardVark71。这解决了它。我只使用了 32 位 regasm。一旦我用 64 位 regasm 注册了 DLL,它就可以工作了。不幸的是,我太兴奋了,点了两次赞,现在我不能给你应得的认可。再次感谢。
标签: asp-classic interop iis-7.5