当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 把程序集安装到全局程序集缓存中的步骤

ASP.NET
asp.net css注释的影响
ASP.NET与数据库相关技巧
关于HtmlForm控件
三色交替的下拉列表框
精通ASP.NET中弹出窗口技术
ASP.NET Forums与现有系统整合方案示例
ASP.NET操作IIS中的虚拟目录
DataGrid与SQL Server 2000数据绑定
如何让Web应用程序在Client端实现导出报表功能
如何保证web app中的Send Email线程稳定性
关于用ASP.Net识别远程主机服务器种类
ASP.NET中上传下载文件
提高ASP.NET性能的方法
asp.net StreamReader 创建文件
asp.net如何生成图片验证码(简单)
一个.net 压缩位图至JPEG的代码
简单的SQL Server数据库数据读取与数据操作
获取网站的RSS聚合到自己的网页
.Net程序中整站通用的防SQL注入函数
asp.net生成缩略图及给原始图加水印的函数

ASP.NET 中的 把程序集安装到全局程序集缓存中的步骤


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 117 ::
收藏到网摘: n/a

最近两天在看网络编程中制作简单的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 “程序集名称”