- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想更加熟悉 .Net 全局程序集缓存。网上的各种消息来源说它可以在 C:\WINNT\Assembly
中的 Explorer 中找到。 .但我似乎没有 WINNT
文件夹下 C:
在我的 Windows XP 机器上。我已选中“显示隐藏的文件和文件夹”并选中“隐藏 protected 操作系统文件”。
使用 How do I detect what .NET Framework versions and service packs are installed? 中描述的方法尤其是在 http://msdn.microsoft.com/en-us/kb/kbarticle.aspx?id=318785我看到我安装了 .Net 4.0。
我怎样才能可靠地找到它,为什么它会在任何地方而不是它应该在的地方?
最佳答案
作为免责声明,我首先要说您永远不应该直接编辑 GAC 的内容。
转到信息...
您的问题中有两个不同的 GAC,即 2.0 GAC 和 4.0 GAC。在谈论这些时,它们并不是指 .NET 框架的版本,而是指正在使用的 CLR 的版本。碰巧的是,在 2.0 中,CLR 为 2,而在 4.0 中,CLR 为 4。作为引用框架,.Net 3.5 的 CLR 保持在 2,因此 .net 2.0 和 .net 3.5 的 GAC是一样的。
但它在哪里?
2.0 GAC 位于 %WINDIR%\Assembly
在资源管理器中。对于大多数较新的 Windows 操作系统,%WINDIR%
是 C:\Windows
默认情况下。在幕后,这实际上是一个隐藏 GAC 真实位置的 shell 扩展,但为了您的目的,您打开资源管理器到 C:\Windows\Assembly
查看 2.0 GAC 的内容。 shell 扩展还增加了将程序集拖放到 C:\Windows\Assembly
中的好处。为了将它们添加到 GAC(必须在 Win7 及更高版本中禁用 UAC。)
4.0 GAC 位于 C:\Windows\Microsoft.NET\assembly
.您会发现各种类型的程序集在该文件夹下分为 32 位、64 位或 MSIL 子目录。 CLR4 的 gac 没有 shell 扩展,因此您正在查看程序集所在磁盘上的实际位置。
有点跑题了...
我总是以编程方式检测安装了哪些版本的 .Net 框架的方法是查看 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP
...子文件夹表示已安装的版本。
关于.net - GAC 的位置在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19980650/
尝试使用 gacutil.exe 删除给定程序集(在本例中为 log4net.dll,但它应该适用于任何类似情况)时,由于应用程序需要该程序集,因此操作失败。但是,我不知道如何判断哪些应用程序实际上需
regsvr32和GAC有什么区别? 当然,regsvr32 适用于 COM,GAC 适用于 .net 程序集,但这是唯一的区别吗? 最佳答案 regsvr32是一个用于自注册dll的程序。 GAC是
我有一个组件: SomeAssembly.dll 我的路径上有 GACUtil 的文件夹: C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bi
我想知道为什么拖放有效,而复制粘贴无效。复制和粘贴没有发生的拖放会发生什么? 最佳答案 当您将程序集拖放到 C:\windows\assembly 中时文件夹,它并没有真正被复制到那里——一个特殊的
这个问题说明了一切。 最佳答案 GAC 中的程序集不知道您的私有(private)程序集的私有(private)位置。它只了解 GAC 本身。所以它可以引用仅在 GAC 中可用的程序集 关于c# -
如何检查 GAC 程序集详细信息 Windows Server 2012?我设法通过 Powershell 注册了一个 DLL,现在我需要验证它是否真的完成了。 最佳答案 您可能正在寻找您在 4.0
我正在使用 InnoSetup 来安装我构建的应用程序。我的客户请求在使用此 InnoSetup 插件安装时下载最新的 DLL: http://www.sherlocksoftware.org/pag
我有一个由 Visual Studio 为我在 .NET dll 中使用的第三方 COM 对象生成的 Interop dll。 我已经在 GAC 中注册了我的消费 dll 和 Interop dll。
我有一个“项目 A”,它使用 CopyLocal=TRue 引用 System.Web.Mvc。 System.Web.Mvc 在我的本地机器和构建服务器上都位于 GAC 中。 我还有一个“项目 B”
我正在构建一个类库。该库将部署到 GAC。 在我的库中,我引用了一些外部依赖项。依赖项无法部署到 GAC。 当我部署库并使用它时,它提示无法加载依赖项。 如何部署第三方 DLL,以便我的程序集可以引用
这是我的应用部署:c:\Program Files\Product\API.dll(在Gac中注册) c:\Program Files\Product\ApiImpl1.dll (非 Gac) c:\
很难说出这里问的是什么。这个问题是模棱两可的、模糊的、不完整的、过于宽泛的或修辞的,无法以目前的形式得到合理的回答。如需帮助澄清这个问题以便重新打开它,visit the help center .
我有一个 .NET dll,它需要从它的配置文件中读取它的配置设置。通常,配置文件与 DLL 放在同一目录中。但是如果 DLL 是 GAC 的,我如何读取配置文件,因为我只能将 DLL 放在 GAC
我们如何才能使 .NET 项目的构建过程 (Dev Studio 2005) 完全独立于运行它的特定机器上的 GAC 上安装的内容。 这是我们要解决的问题:根据碰巧安装到 GAC 中的程序集,我们的构
我想更加熟悉 .Net 全局程序集缓存。网上的各种消息来源说它可以在 C:\WINNT\Assembly 中的 Explorer 中找到。 .但我似乎没有 WINNT文件夹下 C:在我的 Window
沿着这条线 stackoverflow 提出了一些问题,例如 What are the advantages and disadvantages of using the GAC 和 When and
我有 WinForms 应用程序 .net 3.5。我在具有多台客户端计算机的 Intranet 中使用 clickonce 部署它。我在 Intranet Web 服务器 ( http://desb
这个问题在这里已经有了答案: How to prevent a .NET application from loading/referencing an assembly from the GAC?
使用 WIX,并尝试安装两个相同的程序集,一个用于 .Net35,另一个用于 .Net40。我正在使用两个单独的组件,但是 WIX 阻止了项目编译。
这个问题在这里已经有了答案: How to prevent a .NET application from loading/referencing an assembly from the GAC?
我是一名优秀的程序员,十分优秀!