【问题标题】:Where is the .NET Framework Global Assembly Cache?.NET Framework 全局程序集缓存在哪里?
【发布时间】:2010-05-12 22:00:16
【问题描述】:

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

%ProgramFiles%\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools

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

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

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

【问题讨论】:

    标签: .net-4.0 gac


    【解决方案1】:

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

    请看这里:.NET 4.0 has a new GAC, why?

    如下所述,新的物理位置是 %windir%\Microsoft.NET\assembly\(如果您有兴趣,可以在命令提示符下使用 dir 命令查询它)。

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

    【讨论】:

    • 感谢您的回答!它涵盖了我所有的问题。
    【解决方案2】:

    试试:

    %windir%\Microsoft.NET\assembly\ 
    

    【讨论】:

    • 您知道是否有 Windows 资源管理器的扩展来查看程序集的详细信息,例如公钥令牌,就像 %windir%\assembly 一样?
    • @Carlos Loth - 抱歉,我没有。
    • 显然 GAC 查看器外壳扩展 (shfusion.dll) 已停止用于 .NET 4.0,并且不再随框架一起提供。在具有 3.5 和 4.0 的机器上,我将 Desktop.ini 文件从 %windir%\assembly 复制到 %windir%\Microsoft.NET\assembly(在命令提示符下执行“attrib Desktop.ini -h -r -s”之后),但这仍然不起作用,即使在 Windows 资源管理器的新实例中。
    • 如何在 GAC 中安装 .NET 4.0 程序集? gacutil 对我来说失败了...将程序集添加到缓存失败
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-13
    • 2018-01-16
    • 1970-01-01
    相关资源
    最近更新 更多