[英]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.