簡體   English   中英

Visual Studio C#.dll與項目引用

[英]Visual Studio C# .dll vs. project referencing

我的Visual Studio解決方案中有兩個C#項目。 項目B需要引用項目A中的代碼。兩個項目都需要編譯為dll,然后在應用程序中使用。

在Project BI中,可以設置對項目A的引用,並且可以進行編譯。 但是,當我在應用程序中實際使用生成的dll時,它將引發缺少的程序集引用錯誤。

我當前的解決方案是告訴Project B引用bin / debug / ProjectA.dll。 使用此配置運行應用程序時,一切正常。 但是這種解決方案有許多問題。 例如,在項目A中編寫的任何B依賴的代碼都不會對B可見,直到重建A。 構建解決方案依賴於首先構建的A。

有沒有一種方法可以添加對Project A的引用,但要構建生成的dll,以便它查找ProjectA.dll引用而不是項目本身? 我希望有,但是我的Google搜索沒有結果。

例如,在項目A中編寫的任何B依賴的代碼都不會對B可見,直到重建A。 構建解決方案依賴於首先構建的A。

這不是問題,我認為這是一種好處。 保證您將無法訪問不存在的功能。 有人可能會說,如果有一項新功能,那沒什么大不了的:我找不到它,遇到了異常/錯誤,所以我知道出了點問題。 但是更新的代碼呢? 這樣,可以確保B將僅使用A最新版本。

有沒有一種方法可以添加對ProjectA的引用,但要構建生成的dll,以便它查找ProjectA.dll引用而不是項目本身?

您可以簡單地在項目A上實現構建后事件,該事件將項目及其所有相關DLL復制到某個預定義的中央位置,在B.dll位置還將復制B.dll 如果您的B.dll依賴於A.dll ,則操作系統將按照默認行為在檢查%PATH%變量內容之前首先在與B.dll相同的文件夾中搜索A.dll

暫無
暫無

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

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