如何用Visual C#生成DLL文件
来源:互联网 发布:淘宝做的好的鲨鱼复刻 编辑:程序博客网 时间:2024/04/29 17:21
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)调用方法和属性。
步骤和方法
- 新建一个类库。
- 编写一个简单的类库实例,例如:DllTest
在默认名为:calss1.cs里编写代码
一下是一个简单的:在控制台显示 “你以成功调用了动态连接!”using System;using System.Collections.Generic;using System.Text;namespace DllTest{public class Class1{public void ShowMessage(){Console.WriteLine("你以成功调用了动态连接!");Console.ReadLine();}}}
- 配置输出,在解决方案上右击——属性,在应用程序选卡中需要注意一下三个内容。
1.程序集名称2.默认命名空间3.输出类型
1.DllTest 2.DllTest 3.类库
这些对我调用来说很有用! - 生成dll,在菜单栏在生成里点击“生成dlltest”,或者按shfit+F6
生成成功,在目录下能看到生成的Dll: - 调用该dll,新建一个控制台应用程序,来实现该dll的调用。
新建一个DLLExample。 - 在新建的项目内添加引用,引用该dll。
- 在“查找范围里找到,我们生成的dll,点击确定。在解决方案中显示如下内容,说明你添加成功!
- 这时我就可以在程序中调用了。
在program.cs中添加
如下代码:using System;using System.Collections.Generic;using System.Text;//必须添加using System.Runtime.InteropServices;using DllTest;namespace DllExample{class Program{//DllTest,我们的动态链接库[DllImport("DllTest.dll")]//public static extern void ShowMessage();static void Main(string[] args){//实例化DllTest.Class1 i = new Class1();//调用动态链接库的方法i.ShowMessage();}}}
- 运行结果:
- 如何用Visual C#生成DLL文件
- 如何用Visual C#生成DLL文件
- 如何用Visual C#生成DLL文件
- Visual C# 生成DLL文件
- 【C#】Visual C# 生成DLL文件 --转
- 递归及如何用c#递归生成多层次XML文件
- 如何用proto生成文件
- 如何用Visual C#来做组件
- 如何用vc编写dll文件
- 如何用VB制作DLL文件
- 如何用C#动态生成代码
- 如何用C#动态生成代码
- 如何用CSC.exe来编译Visual C#的代码文件
- 如何用CSC.exe来编译Visual C#的代码文件之四(转)
- 如何用CSC.exe来编译Visual C#的代码文件
- [转载]如何用CSC.exe来编译Visual C#的代码文件
- 如何用Visual Studio集成SOS.dll进行调试
- 如何用jsp生成excel文件
- 遍历目录
- 进程创建之dofork->copy_process()
- dwr中获取session的办法
- 字符串有关的一些常用函数
- 不一致的变量名和函数名
- 如何用Visual C#生成DLL文件
- 学习札记--Struts1 文件上传2
- 高级语法 break if 的使用
- dwr页面传递对象
- ATL使用数组做参数
- 内核进程创建之分配task_struct(do_fork->copy_process->dup_task_struct())
- JavaScript Interactive with ActiveX Control
- SMSLib开发指南
- C# base和this(一)