【笨問題專欄】啥? 原來Visual Studio可以Add As Link

我們在做專案時,在一個Solution中,常有多個專案共用Class的情形,例如: 在Service端定義了一組傳遞資訊的物件,在呼叫端也會用到、或是某個提供工具函數的類別,對多個專案來說都有用。此時,標準做法是另外建一個獨立的類別庫專案(Class Library),將要共用的類別放進去,多個專案再參照此一專案。

不過有很多時候只為了一個類別多搞出一個DLL,感覺上太過隆重,有時我會偷懶,只將.cs複製到另一個專案裡就算了。但只要是複製,就會衍生同步的問題,一旦要修改類別內容,必須同時修改多處,後患無窮。

在兩個做法間為難了好幾年,最近才發現自己是阿呆!

在Visual Studio裡,我們可以使用Add As Link的功能,只在專案裡建立連結,而不實際複製檔案過來,這樣子就可達到兩個專案共用檔案的理想囉!

如上圖,在專案加入現有檔案時使用"Add As Link",加入的檔案會呈現帶有連結箭頭的圖示(如下圖),表示專案並沒有將檔案複製過來,只是建立參照,檢視、修改時仍是原始來源的檔案,因此修改程式時對兩個專案來說是同步更新。

不過要留意,這個技巧是透過.csproj裡將檔案指向原檔案來源達成的,對於沒有.csproj的專案(例如: ASP.NET Web Site Project)來說並不適用。另外,要對多個專案共用類別做修改時,要格外小心維持相容性,避免為了A專案改程式,讓B, C, D專案全都壞透了光光...

歡迎推文分享:
Published 16 May 2010 04:23 PM 由 Jeffrey
Filed under: ,
Views: 15,003



意見

# Chui-Wen Chiu said on 16 May, 2010 08:04 PM

我都升級到 vs2010 還不知道有這個功能

學習了 ~

# Jackal H said on 16 May, 2010 08:09 PM

讚讚讚

又學了一招

# Leo said on 16 May, 2010 08:50 PM

我也不知道這個功能 ^^||

但是不小心,很容易就【壞透】了啊 :P

#said on 16 May, 2010 11:22 PM

水喔,之前都是自己去編輯.csproj 檔案 Orz

# david.net said on 17 May, 2010 09:36 AM

喔喔喔喔~~ 原來還有這一招~~~

可惜沒辦法用在ASP.NET Web Site Project~~

多謝~~

# sam319 said on 17 May, 2010 11:29 PM

剛試一下asp.net mvc可以用耶~good!

# zenoguo said on 08 July, 2010 08:08 PM

只能說 這功能隱藏的很好

# Joshua Liu said on 24 April, 2011 05:34 AM

真棒,在這裡學到不少技巧,看的出站長的用心, 現在我也知道Visual Studio,這個小技巧了,感謝站長的分享.

# Derting said on 02 June, 2011 08:59 PM

Thanks :D

你的看法呢?

(必要的) 
(必要的) 
(選擇性的)
(必要的) 
(提醒: 因快取機制,您的留言幾分鐘後才會顯示在網站,請耐心稍候)

5 + 3 =

搜尋

Go

<May 2010>
SunMonTueWedThuFriSat
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345
 
RSS
創用 CC 授權條款
【廣告】
twMVC
最新回應

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


Syndication