日期:2014-05-20  浏览次数:21025 次

请教一个注册dll的问题
我从网上下载了一个C#   Winform程序。
发现在Reference中有一个用户自定义DLL。

请问下,我记得我没有注册过,但是可以运行。
可是听同事说不可能,是需要注册DLL先的,
 
是一定这样吗?
有知道的告诉下,谢谢。
 
我不是很明白DLL的注册机制,以前也遇到过需要下命令的REGSVR32之类的。。。。。     知道   的朋友告诉谢谢了


------解决方案--------------------
不一定需要注册。
------解决方案--------------------
up
------解决方案--------------------
只知道 mscorlib...
------解决方案--------------------
如果是.NET的DLL则是不用注册就可以使用的.这是绿色的:)
可是如果是非托管程序(VB6.0,VC的MFC等)编写的DLL那么要么注册,要么放到System目录下,要么放到当前程序运行的路径下(这个有时也要注册才行)都可以运行.
------解决方案--------------------
在同一个目录中,就不用注册了.C#这点好.
------解决方案--------------------
dll大致可以分为3类
1.Com组件,这类组件通常都需要注册,如你所说:regsvr32 XXXX,这样就可以在VS中直接引用它,VS会包装这个com,边可以在.net中用这个Com的方法.


2.普通的函数库,动态连接库,这类dll最常见的就是windows 的API,几乎每种语言都能写,果要在.net中用,需要Pinvoke或者说平台调用,将 DllImport 属性附加到该方法
[DllImport( "msvcrt.dll ")]
public static extern int puts(string c);


3.就是我们用.net写的程序集了,这个就不用说了,直接引用