我必须部署很少的装配到GAC。关于我对GAC的理解,我有几个问题。真让我困惑。
我想知道要更改程序集和文件版本的版本。用安装应用程序替换GAC dll的可能组合是什么。以及对GAC文件的基本管理。
为了更好地了解GAC,我将用以下例子来解释我的问题:
假设我有A和B产品。
A和B都是指安装在GAC中的myfile.dll。
(一)汇编版本: 1.0.0.0
(ii)汇编文件版本:2.0.0.0
我想问题有点混乱,但希望你们知道我在问什么。
PS:与本主题相关的net-assembly-dll-sharing-and-deploying
发布于 2009-12-17 16:45:06
1)取决于您为修复错误所做的更改。如果您更改任何公共接口或对行为进行重大更改,我就会增加程序集版本号。如果没有,您可以执行Microsoft只执行文件版本的操作。
2)装配版本是GAC所关心的全部。因此,如果希望两个同名程序集并行运行,则它们必须根据程序集版本而有所不同。
3)我可能会更改程序集版本号,并包括publisher策略,以便将旧版本的客户端重定向到新版本。
4)与3相同,但不包括publisher策略,也不配置A来绕过它。
不,它是并排安装的。
7)我不这么认为,但这可能取决于它们在文件版本上是否不同。我相信你可以试着验证一下。
( 8)有可用来防止意外移走的参考资料。MSI使用它,所以如果您使用MSI来安装,它会跟踪对程序集的引用,并且在卸载所有应用程序之前不会删除它。如果您手动执行(例如使用Gacutil /uf),您可能会把事情搞砸。
https://stackoverflow.com/questions/1915788
复制相似问题