最近两天在看网络编程中制作简单的http服务器,其中用到把程序集安装到全局程序集缓存中,自己尝试了一下,记录一下:(首先,对共享程序集安装计算机管理员权限)

   步骤:
     1.先创建类库项目,完成编码;
     2.对类库项目生成强命名,生成密钥文件;(该名称是加密的哈希密钥或签名。这种强名称可确保正确的组件版本控制。这有助于防止具有相同名称的组件相互冲突或被消耗应用程序误用)
     使用.net Framework 开发包中bin目录下的SN工具生成加密密钥对,例如:在D盘建立文件夹:GACkey,然后在命令行中执行:sn -k "D:\GACkey\GACkey.snk" ,则在D:\GACkey\GACkey.snk就会生成密钥文件;
     3.关联类库文件和密钥文件,并编译生成dll文件(有两种方法);
     a.
     在 Visual Studio .NET 解决方案资源管理器中双击 AssemblyInfo.cs 文件。此文件具有一个程序集属性列表,默认情况下,在 Visual Studio .NET 中创建项目时将包括这些属性。在代码中修改“AssemblyKeyFile”程序集属性,如下所示:
[assembly:AssemblyKeyFile("密钥文件的路径("D:\GACkey\GACkey.snk")]
     通过按 Ctrl+Shift+B 来编译项目。
     b.
     1.在 项目 菜单上, 单击 类库项目 属性 。  
     2.  在 签名 选项卡, 单击以选中 为程序集签名 复选框。  
     3.  在 选择强名称密钥文件 , 单击 新建 < > 。  
     4.  在 创建强名称密钥 对话框中, 单击以选中 我密钥文件用密码保护 复选框。  
     5.  在 密钥文件名称 框中, 键入 密钥文件名称. 
     6.  在 输入密码 框中, 键入与要使用密码。  
     7.  在 确认密码 框中, 键入同一密码, 并单击 确定 。 
     注意 我们建议您创建密钥文件时始终使用一个密码。 以 .pfx 文件格式始终创建新密钥文件受密码保护。  
     8.  编译项目, 按 CTRL + SHIFT + B。
     注意 无额外代码需要全局程序集缓存中安装 .dll 文件。


     4.安装Dll或程序集到GAC中(有两种方式);
      a.通过SDK中的Gacutil工具安装
     执行命令行:gacutil -I "dll文件的路径"
      b.通过找到dll文件直接把此文件拖到c:\[SystemRoot]\Assembly 文件夹即可;

 

     5.验证程序集安装在全局程序集缓存
     可使用 GlobalAssemblyCache 工具来验证程序集安装在全局程序集缓存。步骤操作:

     1. 单击 开始 , 单击 运行 , 类型 cmd然后单击 确定 。 
     2. 改为安装 .NET 框架 SDK, 目录当前工作目录使用下列命令之一: • 如果已安装 .NETFramework 2.0 SDK, 键入以下命令, 然后按 ENTER 键: 
     cd "%ProgramFiles%\Microsoft Visual Studio 8\SDK\v2.0\\Bin" 
     • 如果安装 .NET 框架 1.1 SDK, 键入以下命令, 然后按 ENTER 键: 
     cd "%ProgramFiles%\Microsoft.NET\SDK\v1.1\Bin" 
     3. 使用 GlobalAssemblyCache 工具来显示 刚才创建的程序集, 安装信息。 要这样做, 在命令提示符处键入以下命令, 然后按 ENTER 键: 
     gacutil -l “程序集名称”

     注意 将显示有关 程序集 安装信息