簡體   English   中英

添加對程序集的引用,而程序集又具有項目引用

[英]Add reference to assembly which in turn has a project reference

我有解決方案1,其中有2個項目->項目A和項目B。項目A引用項目B。(即項目A依賴於項目B)。

我也有解決方案2,其中有多個項目。 此處的一個項目引用DLL A(從解決方案1的項目A的bin \\ debug復制到解決方案2的文件夾中)。

解決方案2編譯正常。 但是在解決方案2的運行期間,當代碼嘗試從依賴於DLL B的DLL A執行某些代碼時,它引發了一個異常,表明無法加載文件或程序集DLLB。如果我添加對DLL B的引用,則錯誤消失了。

我必須引用DLL B還是有某種方法可以避免在解決方案2中引用DLL B,因為它沒有顯式使用它?

在Visual Studio中,業務的首要任務是,如果您可以訪問源代碼csproj,則最好將這些項目加載到其依賴的每個解決方案中。 業務的第二順序是,引用解決方案中具有項目的庫的最佳方法是引用整個項目,而不是dll輸出。 您不必解決路徑問題(調試/發布),它工作起來會更加流暢,並且在編譯過程中,可以確定使用最新更新的dll還是在需要時進行編譯。

DLL B必須位於引用DLL A的SLN 2中的項目的輸出目錄中。您不需要在項目中顯式引用DLL B,只要它在物理上就可以。

DLL A將在您運行時自動復制到相同的文件夾,因為您為項目提供了對其的引用。

假設您在調試模式下運行,那么默認情況下,您的輸出目錄應為:

(your project directory)\bin\Debug

如果在項目中使用依賴於第二個DLL的任何參考DLL,則需要在解決方案中添加兩個DLL。

因此,您還需要在解決方案2中添加DLL B,因為它在DLL A中使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM