GAC是内存区域还是硬盘区域(C:\windows\Microsoft.NET\Assembly\...
)?我被GAC中的缓存一词所困惑。
GAC是一个文件夹:
C:\Windows\Microsoft.NET\assembly
存储在该文件夹下的文件夹中的程序集位于GAC中。您可以通过对程序集进行签名,然后使用gacutil
将它们添加到GAC中。GAC是托管程序集将寻找任何外部引用的位置之一。
GAC本身位于硬盘上的%systemroot%\Assembly
。
显然,这些二进制文件在运行时会被加载到内存中。
GAC中的缓存语义上是指二进制文件的通用存储库。
GAC 存储在您的硬盘上。您可以使用以下命令行查看物理文件:
dir %WINDIR%\assembly\GAC_32
如前所述,GAC 是硬盘上的位置(%systemroot%/assembly)。在这个上下文中,“缓存”一词指的是货物的储存,因此这是一个常见的位置,强命名版本化的程序集被存储并被 .NET 应用程序访问。
全局程序集缓存 (GAC) 位于硬盘上,其默认路径为 C:\Windows\Assembly
。我在验证后还发现您可能还有一些库位于 C:\Windows\Microsoft.NET\GAC_[XX]
,其中 [XX] 表示32位、64位或 MSIL(Microsoft 中间语言),假设您的系统驱动器是 C:。
您可以跟随所引用的链接以获取更多信息。
GAC已经在磁盘上了。想象一下将所有签名程序集都保存在内存中...