.NET Framework全局程序集缓存在哪里?

CAR*_*OTH 45 gac .net-4.0

我安装了VS2010和.NET 4.0,然后编译了一个程序集并使用可用的exe运行gacutil

%ProgramFiles%\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools
Run Code Online (Sandbox Code Playgroud)

可执行文件的输出表示程序集已成功安装在Global Assembly Cache上.但是,当我转到%WINDIR%\assembly文件夹时,我找不到使用.NET Framework 4.0安装的程序集gacutil.

我看过一些帖子说.NET Framework 4.0有一个单独的GAC,但我没有找到它所在的位置.

有人可以帮我查一下在哪里可以看到.NET Framework的全局程序集缓存,因为它曾用于以前的版本(%WINDIR%\assembly)?

Dav*_*ale 44

是的,从.NET 4.0开始有两个不同的GAC

看到这里:.NET 4.0有一个新的GAC,为什么?

如下所述,新的物理位置是%windir%\ Microsoft.NET\assembly \(如果您感兴趣,可以在命令提示符下使用dir命令对其进行interogate).

值得注意的是,运行到2.0 CLR的应用程序甚至无法在新GAC中看到程序集.


Jay*_*ggs 18

尝试:

%windir%\Microsoft.NET\assembly\ 
Run Code Online (Sandbox Code Playgroud)

  • 显然,GAC查看器shell扩展(shfusion.dll)已经停止使用.NET 4.0,并且不再附带该框架.在3.5和4.0的机器上,我将Desktop.ini文件从%windir%\ assembly复制到%windir%\ Microsoft.NET\assembly(从命令提示符执行"attrib Desktop.ini -h -r -s"之后) ),但即使在Windows资源管理器的新实例中,这仍然无效. (6认同)