2011-12-01 23 views
0

我將爲公司內部使用創建一個Web應用程序。我創建了一個包含諸如Person,EmailAddress等抽象類的「General.dll」類庫。然後我創建了一個包含Employee:Person,EmployeeEmailAddress:EmailAddress等類的「EmployeeManagement.dll」。如何有效管理彼此引用的類庫?

我的EmployeeManagement.dll引用並依賴於General.dll。

然後我的web應用程序將引用EmployeeManagement.dll。

如何有效跟蹤級聯更改?例如,如果我對General.dll進行了更改,則需要將該類庫重新編譯爲新的General.dll,然後記住在使用它的每個其他類庫中引用新的General.dll。然後,這些庫將需要重新編譯,我必須記住更新Web應用程序中的引用以及...似乎必須有一種工具或更有效的方式來處理這個,我只是不知道。有小費嗎?

+1

您沒有在Visual Studio中的一個解決方案中的所有項目? –

+0

謝謝。我想我主要關心/不清楚的是,如果我們有一個無關的未來項目需要像General.dll一樣使用,但完全是另一個解決方案的一部分。我可以爲該解決方案創建一個單獨的General.dll,但是我的目標是在整個公司內不重複代碼的任何地方實現最高效率。如果有人出現並說,「我希望我有一個抽象類的普通類庫......」,我可以說,「哦,抓住'通用'存儲庫中的文件,」並且這是完全獨立於這個Web應用程序。 – CptSupermrkt

回答

2

首先,如果您將所有項目添加到Visual Studio中的相同解決方案,那麼當您進行更改時,將根據相關性自動重建它們。

此外,在開發過程中,您可能不想添加對程序集特定版本的引用(這是選擇「添加引用」時的默認值)。通過這種方式,對General.dll的任何更改都會自動級聯到在下一個版本上引用它的任何其他項目。從OP

更新後


編輯你說的很隨意回用項目在不同的解決方案。因此,您可以只有一個用於General.dll的代碼庫,並將該項目包含在需要它的任何解決方案中。在這種情況下,在修改General.dll時,您當然需要小心,以避免可能會破壞包含它的任何項目(持續集成實用程序可以在此幫助)。

+2

注意,您應該添加對「項目」的引用,而不是裸露的DLL二進制文件。並且有一種方法可以管理項目依賴項,以便修復(或損壞)該自動構建。 –

+0

感謝您的信息!我對我原來的問題發表了一個評論,其中詳細介紹了我稍微有些模糊的地方。 – CptSupermrkt

+0

@CptSupermrkt在您的評論後更新 –