DotNet項目中鏈接文件的用處

DotNet 項目中鏈接文件的用處

 

首先,什麼是鏈接文件?

 

在VS.Net中打開一個WinForm項目或者DLL項目(在Web項目中不能使用鏈接文件,感謝dudu指出),在隨便一個項目中右擊鼠標,選擇“添加”→“添加現有文件”(抱歉,手頭的機器太差,沒有裝VS.Net,所有的操作說明全憑記憶,如果有出入敬請原諒),隨便選中一個文件,不要選“打開”,點擊“打開”按鈕右側的下拉菜單,選擇“鏈接文件”;

 

選中的文件已經添加到了你的項目中,但是這個文件和你平常添加到項目中的文件是不一樣,這僅僅是一個指向你所選擇文件的鏈接,相當於一個快捷方式;文件在你指定添加的位置上是不存在的,但是你可以照樣地對這個文件進行編輯、編譯等操作,和普通文件地使用並沒有什麼不同;

 

鏈接文件有什麼用處?我能想到的大概有這麼幾個:

 

1.給可執行文件項目進行單元測試;
由於被測試的項目必須是DLL,才能夠被NUnit單元測試項目引用而進行測試,因此如果你把邏輯代碼放到了可執行文件項目中,NUnit就無用武之地了;

 

這種情況下要進行單元測試,可以新建一個DLL項目,通過鏈接文件把可執行文件下的所有文件都進行鏈接,然後把NUnit單元測試項目的引用指向這個項目,這樣就可以用NUnit進行測試了;當你的可執行文件進行了修改的時候,“鏈接項目”的編譯結果也會是最新的。

 

2.引用其他可執行文件項目
如果你要在自己的項目中引用其他可執行文件項目中的代碼,除了將被引用項目的屬性臨時修改爲DLL,編譯後再改回來,似乎沒有其他辦法了。

 

類似上面對可執行文件項目執行單元測試的情況,我們同樣可以使用鏈接文件解決這個問題:新建一個引用被引用的可執行文件項目的DLL項目,將你自己的項目引用指向這個新建的DLL項目即可;

 

上面兩種情況,究其根本都是系統設計不當造成的,重構或者修改設計可以避免這種問題,但是實際中總是很難做到,用鏈接文件作爲補救措施總還算是一種比較好的亡羊補牢方式。

 

3.給一個解決方案中的項目統一版本信息和簽名信息
一個項目的版本信息和簽名信息是在該項目的Assembly.cs文件中指定的,將所有的項目中的Assembly.cs文件都鏈接至同一個文件,以後只要修改這個Assembly.cs文件中的內容,就可以保證所有項目的版本信息和簽名信息都是一致的。 NAnt 項目的 Build 過程就是這樣的。

 

轉載自:http://www.cnblogs.com/netcobra/archive/2005/07/19/196119.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章