【发布时间】:2015-07-20 13:32:29
【问题描述】:
我在 asp.net 应用程序中使用第 3 方 dll 文件。在开发环境中一切正常。
在部署时,我已将应用程序包导入 IIS 默认站点进行测试。一切都像一个魅力。
当我需要在 IIS(默认站点除外)上创建一个新网站时,问题就开始了。所以我创建了一个新站点,一个新的目录路径(不是 wwwroot),遇到了一些权限问题,我解决了。然后我启动了应用程序,似乎运行良好,但是当我尝试访问使用第 3 方 dll 引用的特定页面时,应用程序从 3rd 拥有的函数引发异常(错误名称或数字......)派对 dll。
很奇怪,在 IIS 默认站点中一切正常,但在我使用新的 IIS 站点时会崩溃。不知道怎么办,有什么想法吗?谢谢
【问题讨论】:
-
Bad name or number 看起来像旧的 VB6 错误消息。你能发布你收到的确切例外吗?
-
我同意@FrédéricHamidi; DLL 可能是一些需要向系统注册的旧 VB6 COM 库(或 C++ ATL)。有时,一个简单的
regsrv32.exe /i <your_dll_library>.dll命令就可以将其注册到Windows。在其他情况下,您可能需要实际运行一些随库提供的安装程序。 -
这些库在 vs 项目中被引用并编译在一个单独的 dll 中。当我在默认站点应用程序池中部署应用程序时,不会发生此异常。 “System.Runtime.InteropServices.COMException (0x800A0034): 错误的文件名或编号\r\n 在 Interop....”