在.net中,可調用的dll(動態連結程式庫)檔案其實就是一個類庫。
我們可以通過寫一個類,然後把它編譯成dll檔案形式,在其他的項目中就可以直接調用此編譯好的dll檔案,而不用重複 寫這個類的代碼。
下面詳細介紹此過程:
一、開發dll檔案 (1)開啟vs2005,建立項目中模板選擇“類庫” (2)在解決資源管理員裡面添加一檔案夾“First”,在其中添加兩個類MathAdd和MathMinus,在其父目錄裡直接添加一個名為yun(寫這個類的時候,我已經暈了,不知道取什麼名字好,於是就yun了)的類。下面是各個類的代碼,注意類前一定要加上public,不然這個類會被當做是私人的,不能夠被引用,當初我就是犯了這個錯誤,弄個了好久才想起,真是追悔莫及啊。類中的方法為靜態或非靜態都可以。MathAdd類代碼
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;
}
}
}
MathMinus類代碼
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;
}
}
}
yun類代碼
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的建立和調用已經完成。