我有共享/使用Common.dll的(遠遠多於)兩個SharePoint包被部署到單個SharePoint實例使用的相同GAC。共享程序集從產品部署演變爲產品部署,並不被視爲產品本身。它本身沒有發佈。它僅在其他SharePoint產品/軟件包的環境中發展。通過各種SharePoint軟件包部署不同版本的常用程序集?
常見程序集主要只是一個高度可重用代碼的存儲庫。它僅供內部小型開發人員使用。
分支/合併允許各種產品在適合開發人員時採用最新版本的Common.dll。每個產品的開發工作都會安排採用新版本Common.dll的風險。
我的需求是讓這些程序集在產品之間獨立運行 - 從SharePoint程序包到SharePoint程序包。
但是,這並沒有發生。相反,每次部署時,都會在GAC中覆蓋Common.dll,以至於所有使用它的產品都會收到此最新版本的Common.dll的行爲。取決於該行爲是什麼,它可以打破一段時間內尚未部署的產品。
我試圖阻止該部署「驚喜!」可能不必將Common.dll視爲公共產品,必須小心避免重大更改/等。
將各種SharePoint軟件包部署到單個SharePoint實例的GAC時,您使用什麼技術來保留常見程序集的不同版本?
Common.dll的每個版本是否使用4部分名稱中的不同版本進行編譯? – 2012-04-18 21:05:05
@RichBennema這是否回答您的問題?:在部署之間更改依賴項程序集的AssemblyVersion屬性後會導致SharePoint Web部件運行時錯誤。所以,我們Common.dll的AssemblyVersion永遠不會改變。 – lance 2012-04-18 21:34:33
是的。在GAC中安裝多個版本的Common.dll,每個版本都有不同的版本號,這是我所建議的。 – 2012-04-19 12:08:30