C# 经典asp如何访问COM可见类引用的.NET DLL?

C# 经典asp如何访问COM可见类引用的.NET DLL?,c#,dll,com,asp-classic,C#,Dll,Com,Asp Classic,我有一个COM可见的dll“COMInterface.dll”,它被部署到现有应用程序的文件夹中。我已经创建了一个测试线束,它已经验证了这个dll的功能 但是,当我尝试使用classic asp调用此dll的一个方法时,会收到如下消息: MyCompany.MyProject.COMInterface(0x80070002) 无法加载文件或程序集“MyCompany.Framework,Version=2.6.4202.14897,>Culture=neutral,PublicKeyToken=

我有一个COM可见的dll“COMInterface.dll”,它被部署到现有应用程序的文件夹中。我已经创建了一个测试线束,它已经验证了这个dll的功能

但是,当我尝试使用classic asp调用此dll的一个方法时,会收到如下消息:

MyCompany.MyProject.COMInterface(0x80070002) 无法加载文件或程序集“MyCompany.Framework,Version=2.6.4202.14897,>Culture=neutral,PublicKeyToken=null”或其依赖项之一。系统找不到指定的文件

我的“COMInterface.dll”引用了许多其他dll,如我公司的标准框架、日志类等。“框架”就是这些dll之一

asp页将在哪里查找这些DLL?我猜我的工具工作了,因为它是从程序文件夹运行的,而asp页面在IIS网站中

我需要在这里使用GAC注册吗?我希望不会,因为我需要在那里部署相当多的DLL,我希望在不影响用户机器上的核心安装的情况下扩展应用程序

提前感谢您提出的问题和建议

[编辑]
我应该指出,对象可以被创建得很好。导致问题的是引用DLL的位置。

一般来说,您可以使用Fusion Log Viewer确定程序集绑定器搜索了哪些路径

有关此工具的信息,请参阅


Fusion Log Viewer将列出活页夹探测的所有路径。如果将程序集放入这些路径中的任何一个,都会找到它。我不确定这些路径是否适合您的场景。

当您使用
Regasm
注册dll时,您需要使用
/Codebase
开关以确保可以找到dll。

谢谢,RB。我现在来看看。谢谢,我来看看这个。你知道吗,如果这可以通过VS(2008)IDE来实现的话,我会毫不犹豫地告诉你。谢谢你,安东尼。我接受这个答案,尽管我还没有完全解决我的问题。我确信这最终会解决问题,但我遇到了引用DLL没有强名称的问题!