我已经搜索了一段时间,尝试更好地理解这个问题,但是没有找到任何直接的答案。
我有一个组件需要添加到GAC中。我的操作系统是Windows 7 64位,为了解决一个问题(SSIS 2005无法识别DLL),我正在努力确保将DLL(.NET 4.0)注册到正确的GAC中。
所以这里是我的几个问题:
在Windows 7中,64位和32位GAC的物理位置在哪里?我知道C:\ Windows \ assembly,但不确定这是哪一个,以及其他一个在哪里。
我应该使用哪个版本的gacutil将程序集添加到64位GAC?32位GAC?我知道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 GAC:
c:\ windows \ Microsoft.NET \ assembly \ GAC_32
(仅32位)
c:\ windows \ Microsoft.NET \ assembly \ GAC_64
(仅64位)
c:\ windows \ Microsoft.NET \ assembly \ GAC_MSIL
(32位和64位?)