针对一些类库、用户控件、OCX项目,在程序开发完成后,有时需要将开发的程序集(dll文件)安装部署到GAC(全局程序集缓存)中,以便其他的程序也可以调用。GAC百科
一般来说,将程序集(dll)安装到GAC中有以下两种方法:
1. 手动将要安装部署的dll文件拖至系统目录windows下的assembly文件夹下(一般为C:/windows/assembly),此种方法不便于在安装部署时使用。
2. 使用gacutil.exe工具安装。
“gacutil.exe”工具为.NET自带工具(..Microsoft Visual Studio 8/SDK/v2.0/Bin)
在开始运行中输入‘cmd’进入命令窗口,通过CD选择到‘gacutil.exe’文件所在的目录,
然后可以输入‘gacutil -?’查看帮助;
输入‘gacutil -i "要注册的dll文件全路径"’就可以安装dll了。
但是,在进行上述安装过程之前,我们必须保证此项目具有强名称才可以。
给项目添加强名称需要以下三步:
1. 在项目调试完成后,使用sn.exe工具生成一个密钥。sn -k "生成的密钥的全路径"。
如在命令行输入: sn -k C:/Gackey.snk
2. 将密钥与项目的程序集进行关联: 项目属性-->签名-->为程序集签名-->选择强名称密钥文件。
此外, 还有另外一种方法,就是在项目的AssemblyInfo.cs文件中,修改"AssemblyKeyFile"的属性。
如: [assembly:AssemblyKeyFile("C://myKey.snk")]
3. 重新生成项目集即可。