天天看点

使用.Net下的全局程序集共享缓存(Globe Assembly Cache GAC)详细攻略

使用GAC详细攻略

作者:GhostBear

在网上搜索了一大堆资料,但都没用。经过自己反复的测试,终于成功了。具体步骤如下:

部署程序集文件到GAC:

1.      建一个类库文件,并给它签名。

2.      编译该文件,并把它复制到d盘根目录(这里可以根据情况改变)。

3.      定位到“菜单-》程序-》Visual Studio 2011àVisual Studio ToolsàVisual Studio 命令提示(2010)”,右击“Visual Studio 命令提示(2010)”以管理员身份运行。

4.      输入gacutil  /i  程序集文件名.dll。

GAC中调用自己注册的程序集

很多网友困惑,注册成功的程序集为什么在 “C:\Windows\assembly”目录下看不到。在这里我建议大家重新启动计算机。

Web程序调用我们自己注册的GAC文件:

1.在Web.config文件中加入以下内容:

<compilation debug="true">

<assemblies>

<add assembly="程序集详细信息,

你可以用“gacutil /l 你的程序集名”命令来获取"/>

</assemblies>

</compilation>

           

2.选择生成->生成网站。

3.就可以按正常状态用Using语句引用你程序集里面包含的命名空间了。

应用程序调用自己注册的GAC文件:

1.      定位到你的项目目录,编辑扩展名为“*. csproj”的项目资源管理文件(我用的IDE是VS2010)。找到节点”ItemGroup”并添加子节点”Reference”:

<ItemGroup>

   <Reference Include="System" />

    <Reference Include="你的程序集名,你可以参照其他的节目来写" />

  </ItemGroup>

           

2.      选择生成->生成解决方案。

3.      用Using语句应用程序集中的相应文件。

在运行时加载GAC中的程序集

Using System;

AppDomain domain=AppDomain.CreateDomain(“GAC”);

Domain.Load(程序集详细信息,你可以用“gacutil /l 你的程序集名”命令来获取);