.NET-C#类库用regsvr32注册,找不到入口点的问题

程序集注册工具读取程序集中的元数据,并将所需项添加到注册表中。注册表允许 COM 客户端以透明方式创建 .NET Framework 类。 在注册一个类之后,任何 COM 客户端都可以像使用 COM 类一样使用它。 类仅在安装程序集时注册一次。 只有实际注册程序集中的类实例之后才能从 COM 中创建它们。

用C#编写的类库,采用regsvr32的方法注册时,会弹出如下的提示,


.NET-C#类库用regsvr32注册,找不到入口点的问题_第1张图片

这是为什么呢?为什么会提示加载上了DLL,但是找不到入口点呢。原来问题出在这个找不到入口点的类库是用C#写的,也就是在.NET平台下的,然后上msdn library工具后,发现这类 DLL应该用regasm注册。

如果直接在cmd窗口下输入regasm,会提示找不到regasm,原因这个工具不在当前目录下啊,


.NET-C#类库用regsvr32注册,找不到入口点的问题_第2张图片

我们找到regasm所在的位置,应该是在.net framework文件夹下,定位到如下所示的文件目录中,然后拖动DLL进来,回车,显示注册成功!


.NET-C#类库用regsvr32注册,找不到入口点的问题_第3张图片

那么什么语言的DLL可以用regsvr32注册呢? C++写的类库。

如下所示,ExamUserCom是用C++语言编写的类库,这里用regsvr32可以注册,


.NET-C#类库用regsvr32注册,找不到入口点的问题_第4张图片

总结
用C#编写的类库,注册用regasm工具,C++编写的类库,用regsvr32注册。

你可能感兴趣的:(.NET基础,.NET开发)