GAC 32bit vs. 64bit
本文关键字:64bit vs 32bit GAC | 更新日期: 2023-09-27 18:00:31
我已经搜索了一段时间,试图更好地理解这一点,但没有找到任何直接的答案。
我有一个组件需要添加到GAC中。我运行的是Windows 7 64位,为了解决问题(SSIS 2005无法识别DLL),我正在努力确保在正确的GAC中注册了DLL(.NET 4.0)。
以下是我的问题:
-
64位和32位GAC在Windows7中的物理位置在哪里?我知道C:''Windows''assembly,但不确定这是哪一个,另一个在哪里。
-
我应该使用哪个版本的gautil将程序集添加到64位GAC?32位GAC?我知道C:''Program Files(x86)''Microsoft Visual Studio 10.0''VC,我假设这是32位的,但不确定64位的gautil在哪里。
-
是什么决定应用程序在哪个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.exe应根据编译方式将.dll安装到正确的位置。你应该可以在这里找到文件:%ProgramFiles%'Microsoft SDKs'Windows'v7.0A'bin'NETFX 4.0 Tools'
.NET 4有自己的Assembly文件夹(c:'windows'Microsoft.NET'assembly
),其中包含'GAC_32
和'GAC_64
目录。。。安装文件后,您可以在这里找到它们。
希望能有所帮助。。。
对于Windows 10:
C: ''Program Files(x86)''Microsoft SDK ''Windows''v7.0A''Bin