因此,在 Win 2008 R2 Std x64 上,我有 6(六个)gacutil.exe 完全不同(不包括 VS 文件夹中的),位于:
c:\Program Files\Microsoft SDKs\Windows\v6.0A\Binc:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\x64c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Binc:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\x64- c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 工具
c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\x64
问题是:
x64
版本在行为上有什么不同吗?- 我应该更喜欢
v7.0A
其他版本v6.0A
吗? - 我应该使用
NETFX 4.0 Tools
.NET 4.0 程序集的版本,而其余的使用“标准”版本吗?
或者,如果有一些关于这个主题的一般类型的文章,我将不胜感激。
更新1。关于汉斯帕桑特的回答:
- gacutil.exe 是“构建、部署和配置工具 (.NET Framework)”的 .NET Framework 工具的一部分,因为现在已经过时 (!) shfusion.dll;
- 确实 v6.0A 是从 VS2008 安装的,可以忽略(1、2);
- 64 位解释理论听起来也很合理。我还认为很可能有一个IA64 版本的 gacutil.exe,所以它就像“每个平台的工具副本”,只是因为 WoW64,x86 版本在任何地方都可以正常运行。列表中减去 2 个 gacutil 版本(4、6);
- 关于使用哪个版本的部分似乎是错误的。V4.0 gacutil.exe 根据其目标 CLR 检测和放置程序集,并且适用于 .NET 4.0 和更早版本的程序集。那么问题来了,为什么要离开V2.0 gacutil.exe呢?我的猜测是出于在环境中部署的目的。NET4.0 不可用。
- 使用或不使用 GAC 不是问题。所以我留下最后一段没有评论。
更新 2。
因此,在我看来,对于 Windows x86 和 x64 上的所有 GAC 操作,似乎可以安全地使用数字 3(然后 .NET4.0 不可用)或数字 5。问题的答案是:
- 不。
- 没关系,但使用较新的版本似乎更合乎逻辑。
- 不,您始终
NETFX 4.0 Tools
可以对所有 GAC 操作使用版本(如果 .NET4.0 可用)。