GAC的作用是可以存储一些有多个应用都要用到的公共的Assembly(程序集),例如System.Data、System.Windows.Forms等。这样,多个应用就可以从GAC中取得 Assembly,而不需要在所有应用中把要用到的Assembly都拷贝到应用程序的相关目录下面(比如:Windows应用程序的Debug目录,ASP.NET的bin目录)。 举一个最简单的例子,很多初学....
综上所述,全局程序集缓存(GAC)是.NET框架中一个重要而复杂的组件。直接删除GAC或其中的程序集通常是不安全的,并可能导致严重的系统问题。相反,应该使用提供的工具和管理方法来维护GAC的完整性和一致性。在考虑修改GAC之前,务必充分理解其工作原理和潜在影响,并考虑使用替代方案来满足特定的需求。六、建议和最佳...
原理? GAC全称是Global Assembly Cache,他的作用是可以存放一些有很多程序都要用到的公共Assembly,例如System.Data、System.Windows.Forms等等。这样,很多程序就可以从GAC里面取得Assembly,而不需要再把所有要用到的Assembly都拷贝到应用程序的执行目录下面。举例而言,如果没有GAC,那么势必每个WinForm程序的目录下就都要从...
安装到GAC有两种办法,一种是把DLL拖入windows/assembly目录下(不是复制粘贴,是拖动),另外一种是使用gacutil。 在Win7下,拖动的话会遇到权限问题,如下图所示 在gacutil下面也会遇到如下错误 1F:\WorkSpace\.net\DUtil\bin\Debug>gacutil -i DUtil.dll 2Microsoft (R) .NET Global Assembly Cache Utility. Versi...
所以,目前开发 .NET Framework 4.0 的程序, 如果你用到了 GAC, 这个GAC部署方法是不可用的,你不可再实际运营服务器上部署 VS2010 吧。 我们只有等 .NET Framework 4.0 SDK 。 使用Microsoft Windows Installer 。 也就是我们把整个部署需要的组件打包到安装文件,然后安装即可。
所以,目前开发 .NET Framework 4.0 的程序, 如果你用到了 GAC, 这个GAC部署方法是不可用的。 我所说的MSDN中错误的就是这里,MSDN中说 .NET 4.0 仍然可以这么用,其实是不可以的。 使用Mscorcfg.msc (.NET Framework Configuration Tool) 这个工具,也就是我们之前常见的“Microsoft .NET Framework 2.0 Configuratio...
.NET的GAC程序集默认是放在目录C:\WINDOWS\assembly\GAC_MSIL下的,但是你会发现就算将GAC程序集放在该目录下,在VS的添加引用的.NET选项卡列表里还是看不到该程序集 这里介绍两个方法来解决该问题 方案一:在“添加引用”对话框中显示程序集 即使已将程序集安装到全局程序集缓存 (GAC) 中,“添加引用”对话框也不...
GAC_32也是用于存放基于.NET Framework 2.0创建的基于x86架构的Assemblies,因为这些Assemblies可以拥有32-bit的native CPU代码,所以只能运行在32-bit空间,可以直接在32-bit系统上运行或者使用WOW64技术在64-bit的OS系统上运行。 GAC_64用于存放.NET Framework 2.0上创建的基于x64或者IA64的Assemblies,这些Assemblies可能含...
将程序集加入GAC,并让其能够在VS的添加引用的.NET选项卡中被引用 GAC是代码缓存,可以作为一个中央知识库放置程序集。 将程序集放置到GAC中使得它们可被服务器上的多个应用程序引用。如果给予开发人员完全的版本控制,那么在其工作目录中管理每个应用程序的程序集将更简单。如果从GAC引用一个程序集,那么在该程序集更新...
.Net 4.0 GAC的变化 CLR2.0时代,GAC位于C:\Windows\assembly\,到了4.0时代,GAC则位于C:\Windows\Microsoft.NET\assembly.也许这也反应了.Net在微软构架中位置的变化,.Net作为MS的主要上层开发技术。 GAC中有3个目录:GAC32,GAC64,GAC_MSIL。 分别对应32位,64位,anycpu编译的应用程序。