利用SN.exe和AssemblyInfo.cs把dll放到全局程序集缓存
来源:互联网 发布:易语言写免费网络验证 编辑:程序博客网 时间:2024/05/19 23:12
写在前面:GAC全局程序集缓存是一个很酷的东西,对于版本非常稳定的exe或dll是很有用的,您可以把可执行文件放到全局程序集中,调用时就像利用.NET自带的程序集一样,如调用System.Data.dll一样,不需要把dll引用到本地。下面就介绍怎样把dll放到GAC中。
SN.exe
用来生成一个强名称密钥文件,打开SDK Command Prompt或者VS2005中的Visual Studio 2005 Command Prompt.而不是windows的cmd,输入sn -k MyKey.snk,得到的文件在命令提示符的当前文件夹下,如C:/Program Files/Microsoft Visual Studio 8/SDK/v2.0中。
AssemblyInfo.cs
新建一个项目时,会生成一个AssemblyInfo.cs文件,可以在此文件中增加如下的内容
MyKey.snk被直接放在项目下面。
内容说明:
类型名:
System.Reflection.AssemblyKeyFileAttribute
Attribute声明:
[AttributeUsage(AttributeTargets.Assembly)]
public sealed class AssemblyKeyFileAttribute : Attribute
功能:
包含了公钥(如果使用延迟签名)或者既包含公钥也包含私钥的文件名。此公钥和私钥将作为参数传递至此属性的构造函数。文件名称与输出文件路径(.exe 或 .dll)相关,与源文件路径无关。
直接在项目中设置
在IDE中选项项目,右键属性,找到签名选项卡,在“为程序集签名”上面找勾,然后选择密钥文件。
把dll放到GAC中
生成dll后,用gacutil /i myDll.dll放进Global Assembly Cach。
Dll安装在GAC之后,所有的应用程序集都可以共享这个程序集,发布新dll之后所有程序都可以得到及时的修改。最后GAC还可以提供不同版本的程序集管理。不过GAC部署起来的确比一般简单复制要麻烦。
- 利用SN.exe和AssemblyInfo.cs把dll放到全局程序集缓存
- GAC--全局程序集缓存和SN.EXE工具
- C# AssemblyInfo.cs控制EXE程序版本信息
- AssemblyInfo.cs文件中的程序集属性
- AssemblyInfo.cs文件中的程序集属性
- 全局程序集缓存工具 (Gacutil.exe)
- 全局程序集缓存工具 (Gacutil.exe)
- 强命名程序集 sn.exe GAC
- Gacutil.exe(全局程序集缓存工具)
- 程序集和全局程序集缓存
- 程序集和全局程序集缓存
- AssemblyInfo.cs
- 将dll部署到全局程序集缓存(GAC)中
- 将dll添加到assembly(全局程序集缓存)
- 将dll添加到assembly(全局程序集缓存)
- 将dll部署到全局程序集缓存(GAC)中
- .net程序如何把引用的dll放到子目录里面
- 总结: 如何将程序集(dll)安装到全局程序集缓存(GAC)中
- C语言版GDI+应用例子 -- 画笔
- 编程术语翻译-----
- 关于const_cast
- 空中的翱翔
- http://www.8211.cn/
- 利用SN.exe和AssemblyInfo.cs把dll放到全局程序集缓存
- Grub源码分析
- ORACLE的索引和约束详解
- overload和override的区别
- Remote 实现.net 与Flex4的直接通信
- JAVAScript js 模拟JAVA map类 实现put get 等JAVA map类方法
- 数字图像攻击模拟系统(4)
- 自然界十大奇异植物
- UML符号意义