warning MSB3245: 未能解析此引用。未能找到程序集“CemeteryBLL”。請檢查磁盤上是否存在該程序集。 如果您的代碼需要此引用,則可能出現編譯錯誤。


多層架構,在每次重新生成解決方案的時候,老是提示:warning MSB3245: 未能解析此引用。未能找到程序集“CemeteryBLL”。請檢查磁盤上是否存在該程序集。 如果您的代碼需要此引用,則可能出現編譯錯誤。

但是如果逐個生成,那就沒問題。這是因為在多層架構中,項目之間有引用關系,比如三層架構,UI界面層引用了BLL業務層,BLL業務層引用了DAL數據層,如果我們全部生成解決方案,它生成的順序如果不是先從DAL再BLL最后UI層,則會提示上面那個錯誤。因為如果先生成UI層,那么生成的時候,會將dll程序集全部刪掉,然后再生成dll,此時已經將之前引用的dll都刪除了,這時候 如果先生成UI成,那么UI的BIN 目錄里面是沒有BLL層的dll程序集的,所以會提示未能找到程序及xxx。總之如果項目之間有引用關系,如果生成整個解決方案的時候,提示這個錯誤,那么基本上是因為沒有設置項目之間的依賴關系,那么VS生成的時候就會按自己的生成順序來生成。VS的生成順序是根據項目之間的依賴關系(不是引用關系:比如UI引用了BLL),所以這個問題的解決方案是設置項目之間的依賴關系。那么如何設置依賴關系呢?

右鍵解決方案->屬性->項目依賴項,切換項目下拉框,逐個切換然后勾選該項目所依賴的項目,比如:選中UI層,則勾選BLL層和Model層;選中BLL層,則勾選DAL層和Model層;選中DAL層,則勾選Model層。這樣設置后,VS生成順序就會改為先生成Model,再生成DAL,然后BLL,最后UI層。這樣就不會提示上面那個錯誤了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



猜您在找 未能解析引用的程序集......因為它對不在當前目標框架“.NETFramework,Version=v4.0,Profile=Client”中的 error MSB4019: 未找到導入的項 目“D:\Microsoft.Cpp.Default.props”。請確認 聲明中的路徑正確,且磁盤上存在該文件。 未能加載文件或程序集“Newtonsoft.Json”或它的某一個依賴項。找到的程序集清單定義與程序集引用不匹配 C# 未能找到類型或命名空間名稱“XXXX”(是否缺少 using 指令或程序集引用?)解決方案 未能找到任何適合於指定的區域性或非特定區域性的資源。請確保在編譯時已將“xxx.Resources.resources”正確嵌入或鏈接到程序集 未能加載文件或程序集“MySql.Data”或它的某一個依賴項。找到的程序集清單定義與程序集引用不匹配。 (異常來自 HRESULT:0x80131040) 未能加載文件或程序集“Antlr3.Runtime”或它的某一個依賴項。找到的程序集清單定義與程序集引用不匹配。 (異常來自 HRESULT:0x80131040) 未能加載文件或程序集Office, Version=2.2.0.0, Culture=neutral, PublicKeyToken=null或它的某一個依賴項。找到的程序集清單定義與程序集引用不匹配。 (異常來自 HRESULT:0x80131040) 未能加載文件或程序集“System.ValueTuple, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51”或它的某一個依賴項。找到的程序集清單定義與程序集引用不匹配。 docker build 錯誤 /usr/share/dotnet/sdk/2.1.801/Microsoft.Common.CurrentVersion.targets(2106,5): warning MSB3245: Could not resolve this reference
 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM