经典 asp 如何访问由 COM 可见类引用的 .NET dll
本文关键字:引用 dll NET COM 何访问 asp 访问 经典 | 更新日期: 2023-09-27 18:31:50
我有一个COM可见的dll"COMInterface.dll",它被部署到现有应用程序的文件夹中。 我创建了一个测试工具,用于验证此 dll 的功能。
但是,当我尝试使用经典 asp 调用此 dll 的方法之一时,我收到如下消息:
MyCompany.MyProject.COMInterface (0x80070002) 无法加载文件或程序集"MyCompany.Framework,版本=2.6.4202.14897,>区域性=中性,公钥令牌=空"或其依赖项之一。系统找不到指定的文件。
我的"COMInterface.dll"引用了许多其他dll,例如我公司的标准框架,日志记录类等。 "框架"就是这样的dll之一。
asp 页将在哪里查找这些 dll? 我猜我的工具有效,因为它是从程序文件夹运行的,而 asp 页面位于 IIS 网站中。
我需要在此处使用 GAC 注册吗? 我希望不会,因为我需要在那里部署很多 dll,我希望在不影响用户机器上的核心安装的情况下扩展应用程序。
提前感谢您的问题和建议。
[编辑]我应该指出,该对象可以很好地创建。 这是导致问题的引用 dll 的位置。
使用 Regasm
注册 dll 时,需要使用/Codebase
开关来确保可以找到 dll。
作为一般答案,您可以使用 Fusion Log Viewer 来确定程序集绑定程序搜索了哪些路径。
有关此工具的信息,请参阅 http://msdn.microsoft.com/en-us/library/e74a18c4.aspx。
Fusion Log Viewer 将列出绑定程序探测的所有路径。如果将程序集放入这些路径中的任何一个,则会找到它。这些路径中的任何一个是否适合您的场景,我不太确定。