我必須向GAC部署少量程序集。我剛剛有幾個關於(我)瞭解GAC的問題。真讓我困惑。GAC和彙編版本
我想知道更改程序集和文件版本的版本。 GAC dll將被安裝應用程序取代的可能組合中有哪些。和GAC文件的基本管理。
我會使用更好的瞭解GAC的下面的例子說明我的問題:
假設我有產品A和B。
A和B均指在GAC中安裝的myfile.dll。
(ⅰ)集版本:[1.0.0.0]
(ⅱ)組件文件版本:[2.0.0.0](有意不同,以避免更多的混亂)
假設我有施加一個錯誤修復在myfile.dll中。 然後我應該更改哪個版本?
假設我有一個說'ANEW'的新版本,那麼應該更改哪個版本,以便A,B ANEW都可以並排居住的 。
假設如果我在'G'中安裝了myfile.dll,現在我嘗試安裝 'B',它具有錯誤修復的gac dll ..然後哪些版本要更改以便更改反映在'一個'。
與Q3相同,但B的變化不應該反映在'A'中。
假設'A'與myfile(1.0.0.0)一起安裝。現在假設'B'正在安裝 myfile(1.x.y.z).. GAC文件將被替換?
假設'A'與myfile(1.0.0.0)一起安裝。現在假設'B'與 myfile(2.x.y.z)一起安裝.. GAC文件將被替換?
假設'A'與myfile(1.0.0.0)一起安裝。現在假設'B'與 myfile(1.0.0.0)一起安裝,假設版本沒有改變.. GAC文件將被替換?
此外,GAC dll如何刪除。是否有任何刪除標準?
我想問題有點混亂,但希望你們知道我在問什麼。
PS:此主題相關net-assembly-dll-sharing-and-deploying
thx for answer。 我也發現此鏈接 http://blogs.msdn.com/junfeng/archive/2004/02/14/72666.aspx 「當我們看到程序集已經存在於GAC中時,我們嘗試比較文件版本GAC中的程序集(我們稱之爲「舊」程序集)以及程序集的文件版本即將安裝(和「新」程序集)。如果「新」程序集的文件版本低於「舊」程序集,我們將拒絕安裝「新」程序集,除非您要求融合強制安裝(「gacutil -if」)。「 – Amitd 2009-12-18 05:35:25
經過這個答案和一些研究..我得到了答案,thx你:) [a]並行安裝在GAC中總是改變彙編版本。 [b]錯誤修復總是改變彙編文件版本。 [c]如果相同的程序集版本,舊版本的文件總是被更新的版本所取代。 [d]強制用舊文件版本(給定相同的程序集版本)替換新文件版本在gacutil中使用強制標誌。 – Amitd 2009-12-20 06:57:41