怎样把程序集安装到全局程序集缓存中
最近两天在看网络编程中制作简单的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 “程序集名称”
注意 将显示有关 程序集 安装信息
摘自:http://www.cnblogs.com/jack-sky/archive/2008/08/19/1270965.html