zoukankan      html  css  js  c++  java
  • C#下开发及调用dll文件

    在.net中,可调用的dll(动态链接库)文件其实就是一个类库。
            我们可以通过写一个类,然后把它编译成dll文件形式,在其他的项目中就可以直接调用此编译好的dll文件,而不用重复 写这个类的代码。
            下面详细介绍此过程:
             一、开发dll文件
            (1)打开vs2005,新建项目中模板选择“类库”

            (2)在解决资源管理器里面添加一文件夹“First”,在其中添加两个类MathAdd和MathMinus,在其父目录里直接添加一个名为yun(写这个类的时候,我已经晕了,不知道取什么名字好,于是就yun了)的类。
    下面是各个类的代码,注意类前一定要加上public,不然这个类会被当做是私有的,不能够被引用,当初我就是犯了这个错误,弄个了好久才想起,真是追悔莫及啊。类中的方法为静态或非静态都可以。

    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace noo.First
    {
        
    public class MathAdd
        {
            
    public int add( int a,int b)
            {
                
    return a + b;
            }
            
    public static  int Muti(int a, int b)
            {
                
    int mutiSum;
                mutiSum 
    = a * b;
                
    return mutiSum;
            }
        }
    }

    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace noo.First
    {
        
    public  class  MathMinus
        {
            
    public static int minus(int a, int b)
            {
                
    return a - b;
            }
        }
    }

    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace noo
    {
        
    public  class  yun
        {
            
    public int add(int a, int b,int c)
            {
                
    return a + b-c;
            }
        }
    到此,dll代码其实已经写好,这里我们可以发现,其实dll文件就是一个一个封装好的类库而已。
            (3)现在可以把代码编译为dll文件了。这里有两种方法
                      方法一:在解决方案资源管理器里面,直接右击项目名称,选择“生成”即可

                    方法二:比较复杂点,由于.net自带了csc.exe编译器,可以用这个工具对刚编写的类文件编译为dll文件,以下为其详细步骤。
                    ①,通常安装.net的时候,CSC.EXE一般位于C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727文件夹下,为了能在命令窗口下的任何目录都能调用csc.exe文件,右击我的电脑——属性——高级——环境变量,双击PATH,在“变量值”的已有字符串的后面加上“;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727”(引号不要,但是分号一定要加上)。
                    ②,点击开始——运行,输入cmd,打开命令窗口,输入csc -help,如果出现一大片字符,说明你的csc路径配置成功了。

                    ③,由于我刚编写的类文件(MathAdd.cs和MathMinus.cs)存放在E:\shy\noo\noo\First目录下,点击开始——运行,输入cmd,打开命令窗口,输入E:目录指向E盘,接着输入cd E:\shy\noo\noo\First(这里的目录就是存放类的目录,一定要切记)改变目录指向,然后输入csc /target:library /out:myFirstDll.DLL MathAdd.cs MathMinus.cs编译不同的类时,只有myFirstDll.dll(输出的dll文件名,可以随意取),MathAdd.cs MathMinus.cs(这两个都是类文件名,必须要同自己编写的类名相同)这两个地方需要作修改。

                    到此,dll文件编译完成。
                    可以发现方法一在E:\shy\noo\noo\bin\Debug文件夹下生成了一名为noo.dll(同项目名称相同)的文件,它包含整个项目的完整的三个类(MathAdd、MathMinus和yun),方法二在E:\shy\noo\noo\First文件夹下生成一名为myFirstDll.dll(自定义的文件名)的文件,它只包含此文件夹下的两个类(MathAdd和MathMinus)。
            二、调用dll文件
            (1)新建一windows应用程序

            (2),在解决方案资源管理器中,右击“引用”——“添加引用”,
    选择编译好的noo.dll文件

            (3),添加了dll文件引用后,会发现引用下会多了一个noo

    双击这个noo,打开对象浏览器,打开noo这棵树,会发现其中包含命名空间、类及方法
    说明添加dll文件成功
            (4),在Form1.cs中首先要添加命名空间,using noo和using noo.First(注意此处有智能提示,如没有可能添加dll出错),在button1的click事件中能够调用MathAdd类的Add方法,故调用dll成功。

    到此,dll的创建和调用已经完成。
  • 相关阅读:
    ModelState 错误信息输出
    c# 导入导出excel方法封装
    签名时出错: 未在路径 C:Program Files (x86)Microsoft SDKsWindowsv7.0Ain
    win 10 升级远程连接服务器 要求的函数不受支持
    请求被中止: 未能创建 SSL/TLS 安全通道
    访问iis 出现500.19错误
    ubuntu下交叉编译海思平台下的x264/x265
    C++编程规范
    C++入门--菱形继承与虚继承
    C++入门 --- 纯虚函数与抽象类
  • 原文地址:https://www.cnblogs.com/bluedy1229/p/1544537.html
Copyright © 2011-2022 走看看