█c# 为什么有的dll不能直接引用,必须regsvr32 注册后 才能引用?
5个回答
展开全部
需要注册的DLL是COM组件,COM组件不是通过文件直接访问。
必须通过regsvr32注册,将组件的信息写入组册表,当你先引用COM组件时,系统可以枚举出系统全部已经注册了的组件。
所以COM组件的DLL必须组册才能中。
传统标准的DLL,需要C#用本地化的方式调用。和VB6调用API一样
而只有.NET的DLL文件,C#才能直接引用,所以最然扩展名都为DLL,但完全不同
必须通过regsvr32注册,将组件的信息写入组册表,当你先引用COM组件时,系统可以枚举出系统全部已经注册了的组件。
所以COM组件的DLL必须组册才能中。
传统标准的DLL,需要C#用本地化的方式调用。和VB6调用API一样
而只有.NET的DLL文件,C#才能直接引用,所以最然扩展名都为DLL,但完全不同
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
就比如第一次入学,虽然你坐在教室里.但是如果没有写你的档案,老师是不会认识你的.也就不会找到你.
同样道理,如果DLL文件没有注册,系统注册表中就没有这个DLL文件信息.那么等到调用的时候,因为不知道这个DLL文件的位置,只能报告没有这个DLL.所以这时候就需要注册DLL了.
WINDOWS系统的DLL不用注册.因为安装时已经注册好了.
同样道理,如果DLL文件没有注册,系统注册表中就没有这个DLL文件信息.那么等到调用的时候,因为不知道这个DLL文件的位置,只能报告没有这个DLL.所以这时候就需要注册DLL了.
WINDOWS系统的DLL不用注册.因为安装时已经注册好了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有可能那个dll不是用c#写的 使用c或者c++
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
using引用啊
追问
小白 你不要说话...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询