短版的問題:檢測依賴衝突
有沒有在編譯的時候檢測,如果我有其中2個或更多項目中引用不同版本的同一總成中的任何情況的好辦法? (說真的,我想教給我們的CI服務器來做到這一點)
長的版本:
因此,這裏是一個有趣的問題(簡單一點,便於消化):
最近遇到的情況我們的解決方案有2個項目,A和B. A和B取決於第三方NuGet包C.
一個總是加載C,B只需要下,在極少數情況下。
所以,這個衝刺過程中,更新項目A開發人員使用最新版本的C包的(沒有意識到B還依賴於C)
一切建成,我們已經通過了測試(我們有測試覆蓋率不足),但是當我們發佈到生產環境時,當B嘗試使用依賴關係時(加載器問題,因爲我們需要強命名程序集的不同版本),我們發生了故障。
我們發現了問題,並修正它,但。我真的很希望在開發過程中能夠抓住這一點。如果我們的構建服務器可以檢測到這個(TFS 2012),那麼它會更酷。
我怎麼可能去檢測這種情況?
我喜歡這個建議。我一定會考慮這個。我正在朝着另一個方向是建立一個工具來加載在bin文件夾中的組件,調用GetReferencedAssemblies()和搜索情況下的文件名相同,但版本號是不同的(該工具將通過構建服務器上運行)。儘管我喜歡你的解決方案,所以我也必須考慮它。謝謝! – JMarsch