【发布时间】:2011-09-24 08:39:10
【问题描述】:
我一直在寻找一段时间试图更好地理解这一点,但没有找到任何直接的答案。
我有一个组件需要添加到 GAC。我正在运行 Windows 7 64 位,并且为了解决问题(SSIS 2005 无法识别 DLL),我试图确保我在正确的 GAC 中注册了 DLL (.NET 4.0) .
所以这是我的问题:
Windows 7 中 64 位和 32 位 GAC 的物理位置在哪里?我知道 C:\Windows\assembly,但不确定这是哪一个,另一个在哪里。
我应该使用哪个版本的 gacutil 将程序集添加到 64 位 GAC? 32位广汽?我知道 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC,我假设这是 32 位的,但不确定 64 位 gacutil 在哪里。
什么决定了应用程序在哪个 GAC 中查找程序集?我假设这取决于应用程序是 64 位还是 32 位,但我想知道是否还有更多。
提前致谢。
更新:
在深入了解 ShaneBlake 的回答之后,我记得 .NET 2.0 和 .NET 4.0 GAC 位于不同的位置。所以:
.NET 2.0 GAC:c:\windows\assembly(32 位和 64 位?)
.NET 4.0 GACc:\windows\Microsoft.NET\assembly\GAC_32(仅限 32 位)c:\windows\Microsoft.NET\assembly\GAC_64(仅限 64 位)c:\windows\Microsoft.NET\assembly\GAC_MSIL(32 位和 64 位?)
【问题讨论】:
-
请注意,如果您正在分发应用程序,则不能在客户端计算机上使用 gacutil。 VS 安装程序/部署项目将允许您将程序集安装在正确的位置。
标签: c# visual-studio-2010 64-bit gac gacutil