2012年6月1日

.Net Project 共用Module Part1

最近和同事一起開發專案,雙方各自開發各別的AP
原先使用的架構如下:
說明:
1.在Visual Studio方案中,使用一空白專案,將一些共用的module全部放在其中
   此空白專案屬性設置為類別庫( DLL)
2.在此方案中所有專案均參考此空白專案,每隻AP均透過DLL去使用static method 或class
Issue:
原先系統上,已執行AP1~AP3的程式,但因AP2有需求需要做修改,在DLL 未被變動的情況下,AP2修改後即可Release程式
但若是有人修改了空白專案中的程式,此時AP2 所complie出來的dll檔內容會與原先在系統上執行的不同!且AP1~AP3程式均是放置在同一目錄下執行
如此一來,AP2的修改者必須將所有AP重新建置,並且做更新動作

為避免這類的情形發生,與同事討論後系統架構修改如下:
如圖中所示:
1.空白專案還是保留
2.AP1~AP3專案中,除對空白專案的參考
3.如此一來,每個專案僅需要參考自己所需要的.cs檔,而不需要再有一層dll去呼叫

先記錄到這,下次再說如何共用專案:)