【问题标题】:.NET dll called from classic ASP, IIS7.5从经典 ASP、IIS7.5 调用的 .NET dll
【发布时间】: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


【解决方案1】:

您在事件日志中有一些错误吗?我认为,您需要在 COM+ 设置中授予指定 ProgID 的执行和启动权限。

【讨论】:

    【解决方案2】:

    这是一个权限问题。我最近写了 this answer - 看看吧。

    【讨论】:

      猜你喜欢
      • 2019-01-29
      • 2011-12-29
      • 1970-01-01
      • 2012-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多