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

ASP.NET
析构函数的作用 什么是析构函数
asp.net下Request.QueryString取不到值的解决方法
设置DropDownList的当前选项
生成多字段排序分页的SQL的通用类
注册表中存储数据库链接字符串的方法
asp.net下百度的编码和解码
asp.net 操作excel的实现代码
用ASP.NET做的个性化的邮件发送系统
DotNet2.0 生成网站的测试
ASP.net 验证码实现代码(C#)
C#中string与byte[]的转换帮助类-.NET教程,C#语言
把jQuery的each(callback)方法移植到c#中
asp.net对URL含有中文参数的转换
C#语言初级入门介绍
C#编码好习惯小结
C#声明方法实例说明
C#使用正则表达式实例
C#列出局域网中可用SQL Server服务器(续)
将DataRow转成指定类型的类,并返回这个类的对象(带值)
asp.net OleDbCommand 的用法

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 46 ::
收藏到网摘: 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 “程序集名称”