我必须向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