2012-08-12 44 views
1

我有多個項目的解決方案。每個項目都使用一個程序集,在構建之後將其複製到相應的輸出目錄。大多數這些項目都有一個共同的DLL。例如ProjectA,ProjectC和ProjectD使用ProjectA.dll。是否可以簡單地將ProjectA.dll放到一箇中央文件夾中並讓其他類庫項目指向它?我知道GAC,但他們說,如果多個應用程序使用特定的程序集,則應該只使用它。.NET中有多個常用程序集的項目

編輯: 在部署時,我想以下結構:

Bin 
-> ProjectA.dll 
-> Other Projects 
----> ProjectB.dll 
----> ProjectC.dll 
MyProject.exe 

威爾projectA.dll還是可以通過ProjectB.dll和ProjectC.dll正確引用?

回答

2

由於所有的項目都在同一個解決方案中,Visual Studio知道如何管理這種依賴關係。只需在ProjectB,ProjectC,ProjectD中添加項目引用即可。爲此,請右鍵單擊解決方案資源管理器中的引用,然後添加引用,單擊項目選項卡。

這將創建一個構建依賴項,導致ProjectA在任何時候構建ProjectB,C或D,並且這些項目將引用正確的ProjectA \ bin \ Debug或\ bin \ Release(或任何解決方案config目前在)確保一切都很好,並且最新,並且DLL不需要被複制到所有地方。

+0

感謝您的回答。即使部署了應用程序,這是否仍然有效?我在計劃部署時正在計劃這種結構。 (見編輯的問題) – randacun 2012-08-12 03:26:44

+1

你應該看看這篇文章http://www.codeproject.com/Articles/12215/Assemblies-locating-binding-and-deloying – 2012-08-12 03:46:21

0

您可能需要考慮爲項目A創建nuget包。如果您沒有可以發佈的服務器,則可以將其複製到網絡共享中,然後將visual studio設置爲監視該位置。心連心。

+0

謝謝,我會記下這一點。 – randacun 2012-08-12 03:36:26