繁体   English   中英

安装ac#com dll以供vbscript经典ASP网站使用

[英]install a c# com dll for use by vbscript classic asp website

我有一个带有vb6 dll的Classic ASP网站,并且一切正常,但是现在我有了一些使用c#导入COM DLL的附加功能。 在开发环境中,这是可行的,但是现在我希望将此DLL移至另一台计算机上。

我的问题是最好的方法是什么?

我已经看到了诸如“将其添加到GAC”或“需要一个强名称”之类的答案。

好的旧regsvr32怎么了?

Regsvr32今天仍然很重要,但是您不能将其与.NET一起使用,只能与本机DLL一起使用。 .NET有一种注册COM类型的特殊方法,我们将很快看到。

Regsvr32通过调用DllRegisterServer导出来工作 DllRegisterServer使库有机会注册COM类。 类型库; 接口等。.NET创建的.dll中不存在此导出,这是有道理的,因为默认情况下它们不是COM。 如果在Dependency Walker / Viewer中打开.NET或非.NET .dll,则可以轻松看到这些差异。

这是我之前制作的本机c ++ ActiveX dll(请注意右侧的DllRegisterServer导出):

在此处输入图片说明

这是一个托管的.dll。 (请注意, 没有导出,更不用说DllRegisterServer了):

在此处输入图片说明

如果已将c#类标记为COM可见,则可以通过调用以下命令来完成COM注册:

regasm assemblyFile [选项]

告诉我更多

这会将必要的条目放入Windows注册表中。

不需要GAC,因为本机COM客户端(VB6)不使用GAC

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM