windows - 在资源管理器中,.NET Gacutil.exe 成功添加程序集,但程序集无法查看 为什么?

  显示原文与译文双语对照的内容
134 1

我将 GacUtil.exe 从 Visual Studio 命令提示符 2010运行到 register 中,将一个 dll ( catalogpromotion.dll ) 。 在运行这个工具后,它 Assembly Successfully added to the cache 运行 gacutil/l CatalogPromotionDll 显示,当从 Windows Explorer 导航到 C:WINDOWSassembly 时,该程序集包含程序集,但我看不到该程序集。 我为什么不能在WINDOWSassembly中看到程序集,但我可以用查看它

背景:以下是我在命令提示中键入 vs 工具的内容:

 C:_Dev ProjectsVS ProjectsbmccormackCatalogPromotionCatalogPromotionDllbin
 Debug>gacutil/i CatalogPromotionDll.dll
 Microsoft (R). NET Global Assembly Cache Utility. Version 4.0.30319.1
 Copyright (c) Microsoft Corporation. All rights reserved.
 Assembly successfully added to the cache
 C:_Dev ProjectsVS ProjectsbmccormackCatalogPromotionCatalogPromotionDllbin
 Debug>gacutil/l CatalogPromotionDll
 Microsoft (R). NET Global Assembly Cache Utility. Version 4.0.30319.1
 Copyright (c) Microsoft Corporation. All rights reserved.
 The Global Assembly Cache contains the following assemblies:
 CatalogPromotionDll, Version=1.0.0.0, Culture=neutral, PublicKeyToken=9188a175
 f199de4a, processorArchitecture=MSIL
 Number of items = 1

但是,程序集在 C:WINDOWSassembly. 中不显示

时间: 原作者:

139 4

这是因为你使用. NET 4.0版本的gacutil.exe.,它将程序集存储在不同的GAC中,即 c:windowsmicrosoft. netassembly中的。 存储所有. NET 4.0程序集的位置。 该文件没有 shell 扩展处理程序,文件夹是可见的。 你可以查看 Windows Explorer 。你将看到GAC文件夹的内部结构。 你不应该在查找程序集时遇到任何麻烦,GAC不是特别复杂。

如果程序集应用于目标早期版本的.NET,那么应该使用. NET 2.0版 gacutil.exe, 存储在 C:Program FilesMicrosoft SDKsWindows v6.0 Abin 。

原作者:
115 0

因为你要安装到GAC中的程序集是针对 4.0运行时编译的。 4.0 GAC程序集存储在不同位置 c:windowsmicrosoft. netassembly中。

接受的答案不正确。 使用使用. NET 安装目标或者更早版本的程序集gacutil可以正常工作,并将程序集放入OP所期望的目录中,即 c:windowsassembly. 。

原作者:
...