GAC是内存区域还是硬盘区域(C:\windows\Microsoft.NET\Assembly\...
)
我对GAC中的缓存这个词感到困惑吗?
答案 0 :(得分:8)
GAC是一个文件夹:
C:\的Windows \ Microsoft.NET \组件
存储在该文件夹下的文件夹中的程序集位于GAC中。您可以通过对GAC进行签名,然后使用gacutil
添加它们来将程序集添加到GAC。 GAC是托管程序集寻找任何外部引用的位置之一。
答案 1 :(得分:2)
GAC本身位于%systemroot%\Assembly
的硬盘上。
显然,二进制文件本身会在运行时加载到内存中。
GAC中的缓存在语义上是指二进制文件的通用存储库。
答案 2 :(得分:2)
cache是一种机制,它可以改善加载数据的响应时间,而客户端不必采取进一步的操作:客户端以“正常”方式请求数据,并且缓存基本上拦截这些请求,并且可能有时会传送数据而无需将请求转发给实际的数据提供者。
这与基于内存的无关。高速缓存存在于各种场景中,在CPU上用于改善RAM的访问时间,在Web浏览器中用于改善Web资源的访问时间 - 在这种情况下,作为磁盘上预编译程序集的文件夹以改进访问DLL(否则会必须编译)。
答案 3 :(得分:1)
GAC实际存储在您的硬盘上。您可以使用以下命令从命令行查看物理文件:
dir %WINDIR%\assembly\GAC_32
答案 4 :(得分:0)
如前所述,GAC是硬盘上的位置(%systemroot%/ assembly)。在此上下文中,术语缓存是指商品的存储,因此这是一个公共位置,其中由.NET应用程序存储和访问强命名的版本化程序集。
答案 5 :(得分:0)
Global Assembly Cache (GAC)位于您的硬盘驱动器上,默认情况下为C:\Windows\Assembly
,我在验证后也注意到您可能还有C:\Windows\Microsoft.NET\GAC_[XX]
的库,其中[XX]代表32或64位或MSIL(Microsoft Intermediate Language)假设您的系统驱动器是C:。
您可以按照引用的链接了解详情。
答案 6 :(得分:0)
GAC在磁盘上。想象一下,将所有已签名的程序集保存在内存中......