程序集注册工具读取程序集中的元数据,并将所需项添加到注册表中。注册表允许 COM 客户端以透明方式创建 .NET Framework 类。 在注册一个类之后,任何 COM 客户端都可以像使用 COM 类一样使用它。 类仅在安装程序集时注册一次。 只有实际注册程序集中的类实例之后才能从 COM 中创建它们。
用C#编写的类库,采用regsvr32的方法注册时,会弹出如下的提示,
这是为什么呢?为什么会提示加载上了DLL,但是找不到入口点呢。原来问题出在这个找不到入口点的类库是用C#写的,也就是在.NET平台下的,然后上msdn library工具后,发现这类 DLL应该用regasm注册。
如果直接在cmd窗口下输入regasm,会提示找不到regasm,原因这个工具不在当前目录下啊,
我们找到regasm所在的位置,应该是在.net framework文件夹下,定位到如下所示的文件目录中,然后拖动DLL进来,回车,显示注册成功!
那么什么语言的DLL可以用regsvr32注册呢? C++写的类库。
如下所示,ExamUserCom是用C++语言编写的类库,这里用regsvr32可以注册,
总结
用C#编写的类库,注册用regasm工具,C++编写的类库,用regsvr32注册。