我已經閱讀了一些關於GAC的文章,以及爲什麼您不應該通過將共享程序集安裝到GAC中來部署應用程序。我可以看到這一點,因爲它可以使更新客戶機上的應用程序變得更容易。將共享程序集安裝到GAC中進行開發和構建
但是,有兩個方面我可以看到GAC在開發和構建服務器時非常有用。例如,如果您使用Microsoft應用程序塊,則可以將它們安裝到GAC中並在其中引用它們。這是有道理的,因爲這樣做比對每個開發人員計算機上的路徑的絕對引用更容易。它比擁有共享網絡驅動器和所有共享組件的效果還要好 - 那裏已經完成了。
然後,你可能會爲你的構建服務器做同樣的事情。然而,我看到的唯一問題是,您有一個使用應用程序塊版本2.0的應用程序。稍後,您將其升級到使用版本3.1。在某些情況下,您可能需要重新創建該應用程序的早期版本,以測試客戶找到的錯誤,但是當您重新創建構建時,它將選擇應用程序塊的版本3.1而不是最初構建的2.0版本。這是真的,還是舊的項目文件仍然參考舊版本的dll,只要它在GAC中?
你對這個特殊點有什麼想法/意見?
我希望能夠將所有版本的共享組件(我們可以下載或構建)作爲安裝到GAC中的MSI分發給所有開發人員,並將'XCOPY'作爲應用程序安裝程序的一部分部署到客戶機器上。這是做到這一點的最佳方式。
我認爲這個問題現在已經被Nuget照顧到了。所以我不再認爲這個問題是相關的 – 2011-04-05 07:50:58