在我的公司,我們有一個關於我們使用的CMS功能的庫。但是,CMS的每個新版本(即使是修補程序)都會導致必須將新的dll添加到項目並編譯該特定版本的庫。 (這聽起來確實太可怕了。)針對第三方DLL進行編程的最佳做法是什麼?
目前的解決方案是在每個項目中只包含.cs文件,但這對我來說似乎同樣可怕。處理這種第三方組件的最佳解決方案是什麼?謝謝。
在我的公司,我們有一個關於我們使用的CMS功能的庫。但是,CMS的每個新版本(即使是修補程序)都會導致必須將新的dll添加到項目並編譯該特定版本的庫。 (這聽起來確實太可怕了。)針對第三方DLL進行編程的最佳做法是什麼?
目前的解決方案是在每個項目中只包含.cs文件,但這對我來說似乎同樣可怕。處理這種第三方組件的最佳解決方案是什麼?謝謝。
我的經驗是在你的第三方和你開發的代碼之間使用一個façade類。通過這種方式,當他們「對他們的代碼進行想要的調整」時,您只需調整您的外觀,即代碼中的單個位置。有些人稱外牆爲包裝。
現在,如果您使用的是可視化控件集的東西,那麼您只需在衝出時滾動,並在出現時非常小心地安裝更新,不要讓開發人員隨意安裝。
如果API未更改,則不需要重新編譯。有沒有更大的問題造成這種情況? – Magus
正如@Magus提到的,如果API不改變,你不需要重新編譯。另外,在添加對第三方dll的引用時,請確保在項目屬性中未綁定到第三方dll的特定版本,這樣可以避免爲每個版本重新編譯。在這種情況下,您可以部署更新的程序集,而無需重新編譯,從而使應用程序可以正常工作。 – srsyogesh
@Magus我找不到任何項目級別的選項。單獨的DLL被標記爲SpecificVersion = false。 – Ber53rker