dll动态链接库

Visual C#生成DLL文件——预备知识 

DLL(Dynamic Link Library)文件即动态链接库文件,是一种可执行文件,允许程序共享执行特殊任务所必需的代码和其他资源。多数情况下带有dll扩展名(也可以 是.ocx文件:ActiveX控件文件,.cpl文件:控制面板文件,.drv文件:设备驱动程序文件等),向运行于Windows操作系统下的程序提 供代码、数据或函数。

使用DLL的一些好处:

使用较少的资源;

推广模块式体系结构;

简化部署和安装。      

DLL不是独立运行的程序,是某个程序的一个部分,只能由所属的程序调用,用户不能也不需要打开它。 

Visual C#生成DLL文件   

VisualC、Delphi或者VB等编程语言来编写的DLL文件,在编译完成以后,产生DLL文件已经是一个可以直接供计算机使用的二进制文 件。但用Visual C#编译器生成的受管代码虽然也是二进制文件,但不是可以直接供计算机使用的原始代码,实质上是一种中间语言(IL)代码,需要经过"下一代窗口服务"( Next Generation Windows Services,简写为NGWS ) runtime的即时编译器(即JIT)进行编译。

用Visual C#生成的DLL文件已经和以前的DLL文件有了本质上的区别。用Visual C#生成的DLL文件在程序设计中更多的表现为一种类(Class)或者类库(Class Library)。 

Visual C#生成DLL文件——制作一个组件

1.首先创建一个新类库工程文件

File->New->Project->Visual C# Projects->Class Library。填入工程文件名称,并且选择文件要存放的目录。

2.工程文件

将Class1.cs改名自己要创建的文件名:myDll.cs,并填入代码。

3.生成DLL文件

编译工程文件:csc /target:library /out:myDll.DLL myDll.cs生成组件myDll.dll,该组件会在工程文件的bin\debug目录里,文件扩展名是dll。

Visual C#生成DLL文件——测试DLL

1.新建一个控制应用程序

File->New->Project->Visual C# Projects->Console Application。通过这个控制应用程序来测试我们的组件。

2. 为Namespace添加引用

Project->Add reference,浏览到刚才生成的DLL,然后按OK。即将引用加到当前的工程文件的类里。

3.调用myDll命名空间,创建myDll对象,并且调用它的方法和属性

(1)使用namespace:using myDll;

(2)创建myDll对象;

(3)调用方法和属性。

 

 

使用csc命令将.cs文件编译成.dll的过程

很多时候,我们需要将.cs文件单独编译成.dll文件, 操作如下:

打开命令窗口->输入cmd到控制台->cd C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322

转到vs.net安装的该目录下->执行csc命令csc /target:library File.cs->在该目录下产生一个对应名字的.dll文件(前提:把.cs文件放到C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322目录下)

 csc命令的方式很多,请参考以下

译 File.cs 以产生 File.exe

csc File.cs 编译 File.cs 以产生 File.dll

csc /target:library File.cs 编译 File.cs 并创建 My.exe

csc /out:My.exe File.cs 通过使用优化和定义 DEBUG 符号,编译当前目录中所有的 C# 文件。输出为 File2.exe

 csc /define:DEBUG /optimize /out:File2.exe *.cs 编译当前目录中所有的 C# 文件,以产生 File2.dll 的调试版本。不显示任何徽标和警告

 csc /target:library /out:File2.dll /warn:0 /nologo /debug *.cs 将当前目录中所有的 C# 文件编译为 Something.xyz(一个 DLL)

 csc /target:library /out:Something.xyz *.cs 编译 File.cs 以产生 File.dll

 csc /target:library File.cs这个就是我们使用最多的一个命令,其实可以简单的写成csc /t:library File.cs,另外的一个写法是 csc /out:mycodebehind.dll /t:library mycodebehind.cs,这个可以自己指定输出的文件名。

csc /out:mycodebehind.dll /t:library mycodebehind.cs mycodebehind2.cs,这个的作用是把两个cs文件装到一个.dll文件里


你可能感兴趣的:(dll)