DLL全称是Dynamic Link Library,中文意思:动态链接数据库。
在引入Microsoft.net和.NET Framework以后,编译.NET Framework的类成DLL文件。
在编译DLL文件是,有两种方式有两种,一种常见的debug 一种是release。
在debug方式编译下的DLL,是面向程序员,它包含调试信息,并且不做任何优化,
再release方式编译下的DLL,是优化好了的,在程序的代码大小和运行速度都是最优的,以方便用户使用。
程序集实际上是作为DLL文件或.exe文件存在的。
关于什么是程序集,我结合项目和上网查询了,其实可以理解一个解决方案下的一个个项目或类库。如图所示。
这个ITOO.BasicSystemSettings.Service这个解决方案下,有9个项目,其实每个项目都是一个类库,因此可以这么理解程序集。
为何要把一个个程序集编译成一个个DLL呢? 编译好的DLL又是里面有包含什么呢?
1、通过使用DLL,程序可以实现模块化,因为模块是彼此独立的,所以程序的加载速度更快,而且模块只有在相应的功能被请求时才加载,这样可以更容易更新各个模块,个不影响程序的其他部分。
2、避免信息的暴露,更安全了,发现程序集编译成DLL后,你就看不到里面内部结构,以前我尝试用反编译软件来看看DLL里面有什么,结果还是看不见。
其实DLL是一个包含了由多个程序,同时使用的代码和数据的库。
当你在应用程序中加载DLL是,可以用两种方式调出DLL函数。一种是加载时动态链接,一种是运行时动态加载。
至于这两种有何不同,请看下文篇。