-
一.新建一个类库,编写一个简单的类库实例,例如:DllTest。
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();
}
}
}
总结:
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)。