[英]Strange reference behaviour in Visual Studio
我有一個MVC應用程序,在其中我添加了2個對我編寫的dll類庫項目的引用。
當我清潔解決方案時,一個dll文件被按預期刪除,但另一個保留。 為什么是這樣?
在項目XML中,這里是參考
<Reference Include="BusinessLayer">
<HintPath>..\BusinessLayer\bin\Debug\BusinessLayer.dll</HintPath>
</Reference>
<Reference Include="DataTypes">
<HintPath>..\DataTypes\bin\Debug\DataTypes.dll</HintPath>
</Reference>
如您所見,我已經在每個項目的bin / debug文件夾中引用了生成的dll文件。
當我右鍵單擊解決方案並選擇“清理”時,業務層dll不會被刪除。
如果我右鍵單擊該引用,然后單擊“屬性”,則“路徑”設置為本地文件,它位於我所在項目的bin文件夾中,而不位於其自己的bin文件夾中。
有人知道如何解決此問題嗎?
通過執行以下操作,我能夠重現此確切的行為:
現在,當我重建或清潔解決方案時,不會刪除ClassLibrary1 bin文件夾中的ClassLibrary2.dll。
是否有可能偶然發生類似的事情? (也許步驟不完全相同)。
在這種情況下,請在bin文件夾中手動刪除有問題的dll,在Visual Studio中刪除引用,然后再次添加引用,但這一次指向正確的位置。
正如Jeff在評論中提到的那樣,如果項目在同一個解決方案中,請添加對項目的引用,而不是dll文件(添加引用/項目)。
另一方面,如果其他庫不是該解決方案的一部分,我將為它們創建一些NuGet程序包,這些程序包將托管在網絡上的共享文件夾中,這將允許您通過NuGet添加依賴項並繞過添加對dll手動。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.