GAC 32 位与 64 位 [英] GAC 32bit vs. 64bit

查看:44
本文介绍了GAC 32 位与 64 位的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直在寻找一段时间试图更好地理解这一点,但没有找到任何直接的答案.

I've been searching for a while trying to understand this better, but am not finding any straight-forward answers on this.

我有一个组件需要添加到 GAC.我正在运行 Windows 7 64 位,为了解决问题(SSIS 2005 无法识别 DLL),我试图确保我在正确的 GAC 中注册了 DLL (.NET 4.0).

I have a component that I need to add to the GAC. I'm running Windows 7 64-bit, and in an effort to troubleshoot an issue (SSIS 2005 isn't recognizing the DLL), I'm trying to make sure I have the DLL (.NET 4.0) registered in the proper GAC.

这里是我的问题:

  1. Windows 7 中 64 位和 32 位 GAC 的物理位置在哪里?我知道 C:Windowsassembly,但不确定这是哪个,另一个在哪里.

  1. Where are the physical locations in Windows 7 for both 64bit and 32bit GACs? I know of C:Windowsassembly, but not sure which one this is, and where the other one is.

我使用哪个版本的 gacutil 将程序集添加到 64 位 GAC?32位广汽?我知道 C:Program Files (x86)Microsoft Visual Studio 10.0VC,我假设这是 32 位的,但不确定 64 位 gacutil 在哪里.

Which version of gacutil do I use to add an assembly to 64bit GAC? 32bit GAC? I know of C:Program Files (x86)Microsoft Visual Studio 10.0VC, and I'm assuming this is for 32bit, but not sure where 64bit gacutil is.

是什么决定了应用程序在哪个 GAC 中查找程序集?我假设这是由应用程序是 64 位还是 32 位决定的,但我想知道是否还有更多.

What determines which GAC an application looks in for the assembly? I'm assuming this is determined by whether the app is 64bit or 32bit, but am wondering if there is more to it than that.

提前致谢.

更新:

在按照 ShaneBlake 的回答深入研究之后,我记得 .NET 2.0 和 .NET 4.0 GAC 位于不同的位置.所以:

After digging into this following ShaneBlake's answer, I remembered that .NET 2.0 and .NET 4.0 GACs are in different locations. So:

.NET 2.0 GAC:
c:windowsassembly(32 位和 64 位?)

.NET 2.0 GAC:
c:windowsassembly (32bit and 64bit?)

.NET 4.0 GAC
c:windowsMicrosoft.NETassemblyGAC_32(仅限 32 位)
c:windowsMicrosoft.NETassemblyGAC_64(仅限 64 位)
c:windowsMicrosoft.NETassemblyGAC_MSIL(32 位和 64 位?)

.NET 4.0 GAC
c:windowsMicrosoft.NETassemblyGAC_32 (32bit only)
c:windowsMicrosoft.NETassemblyGAC_64 (64bit only)
c:windowsMicrosoft.NETassemblyGAC_MSIL (32bit & 64bit?)

推荐答案

gacutil.exe 应该根据编译方式将 .dll 安装到正确的位置.您应该可以在此处找到该文件:%ProgramFiles%Microsoft SDKsWindowsv7.0AinNETFX 4.0 Tools

The gacutil.exe should install the .dll to the right location depending on how it was compiled. You should be able to find the file here : %ProgramFiles%Microsoft SDKsWindowsv7.0AinNETFX 4.0 Tools

.NET 4 有它自己的程序集文件夹 (c:windowsMicrosoft.NETassembly),其中有一个 GAC_32GAC_64 目录...这是安装文件后您可以找到的位置.

.NET 4 has it's own Assembly folder (c:windowsMicrosoft.NETassembly) which has a GAC_32 and GAC_64 directories within... This is where you will find your files once they're installed.

希望有帮助...

这篇关于GAC 32 位与 64 位的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆