.Net的副档名

一直以来只知道如何引用.dll,但却不明白Visual Studio产生的另外两个副档名为.pdb.refresh是在干嘛用的,这次把网路上找的资源整理贴上纪录。

.DLL(Dynamic Link Library 动态连结函式库)

.dll是包含程式码和资料的函式库,它不是一个独立的程式,不能够自己运行,它是向其他程式提供服务的一段程式码。
实务面上,会把多个专案共用的method或class提出来,并编译成.dll后,有需要用到的专案再去将它引用进自己的专案,以此达到程式码的重用性和可维护性。

当你用Visual Studio建立一个class时,你在build专案的同时,会自动产生在C:\\专案\bin\Debug\的目录下

优点

程式码模组化(适当的将共用的程式码提出来)降低硬碟的空间容易维护及扩充

其实这就很像平常在写程式,将重複的code提出来并包装,让需要用到这段method的部分,都去呼叫它,只是用不同的规则来运作。

.PDB(Program DataBase 程式资料库)

这个档案也是随着build的同时和.dll产生在同一个目录下。
主要在储存.dll内的区域变数名称、行数、档案名称,而这档案是在debug时,用来告诉你目前对应到的程式码行数和变数位置。

.refresh

当引用了一个外部的.dll,会自动产生一个.refresh,这个档案实际上是J个.dll的绝对路径,当引用的.dll更新程式码,引用的专案也会自动更新。
这边有做个验证,用的是Visual Studio 2012版
首先建立一个.dll

namespace dllTest{    public class Test    {        public double add(double first, double second)        {            return first + second;        }    }}

引用的专案

    Test aTest = new Test();    aTest.add(1, 2);

这时候更改.dll

namespace dllTest{    public class Test    {        public double _first;        public double _second;        public double add(double first, double second)        {            return first + second;        }    }}

此时引用的专案需要直接run起来,它才会去比对两边的guid是否一致

    Test aTest = new Test();    aTest.add(1, 2);    aTest._first = 20; //不需要重新引用.dll,即获得更新后的程式码。

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章