VS.NET重建强名称程序集(为第三方无强名称的程序集重新生成强名称程序集)
来源:互联网 发布:mac pro中英文切换 编辑:程序博客网 时间:2024/04/29 01:02
如果一个Assembly希望封装成为ActiveX/COM组件,那么它必须拥有强名(Strong Name),也就是说在编译的时候需要指定SNK(Strong Name Key)。但是当一个Assembly如果以拥有强名的方式编译的话,它又要求所有自身所引用的其他Assembly都必须拥有强名,否则不能够成功编译。这时可以使用按照以下方式来创建或重建一个名称程序集。
首先无论我们有需要一个密钥对(以VS2008为例):
1、运行在“开始菜单”-“程序”-“Microsoft Visual Studio 2008”-“Visual Studio Tools”-“Visual Studio 2008命令提示”(使用这一命令行工作才能能任意路径下执行VS命令行工具);
2、创建一个强名称程序集密钥文件文件
执行命令C:\sn -k keypair.snk
3、为类库绑定密钥文件
(1)a. 如果你有要引用的类库的源代码,可以在类库项目中的AssemblyInfo.cs源文件中加入如下面的属性:
[assembly:AssemblyKeyFile("C:\keypair.snk")](如果有源代码的情况下,也可以直接使用项目配置来使类库项目直接生成并绑定密钥对。配置如:右击“类库项目”->“属性”->“签名”选项卡->选择“为程序集签名”复选框->“选择强名称密钥文件(K):”下拉框->“新建”或“浏览”选择一个已存在的密钥文件。)
b. 生成项目即可得到拥有强名称的类型库
(2)如果你只有第三方的类库(xxxxxx.dll)文件而没有源码项目的话,需要继续做如下操作。
a. 使用类库文件获取微软中间语言(MSIL)源码文件。
C:\>ildasm xxxxxx.dll /out:xxxxxx.il
b. 使用MSIL源码文件(xxxxxx.il)和新生成的(keypair.snk)密钥文件创建新的程序集类库文件
C:\>ilasm xxxxxx.il /dll /key=keypair.snk
参考:http://www.andrewconnell.com/blog/archive/2004/12/15/772.aspx
- VS.NET重建强名称程序集(为第三方无强名称的程序集重新生成强名称程序集)
- 生成强名称程序集
- 生成强名称程序集
- 生成强名称程序集
- 强名称的程序集
- 使用强名称为程序集签名
- 使用强名称为程序集签名
- 使用强名称为程序集签名
- 强名称程序集(strong name assembly)——为程序集赋予强名称
- 创建强名称程序集
- 需要强名称程序集.
- .net程序集强名称签名实践
- .net程序集强名称签名实践
- .NET程序集强名称签名实践
- 图解.net程序集赋予强名称
- 具有强名称的程序集
- 为没有源码的程序集添加强名称
- 认识程序集:2. 生成强名称程序集
- DBA技巧:如何编写可重用的MySQL查询
- 华为面试题
- 线程死锁
- linux学习(一)
- error C2276: '&' : illegal operation on bound member function expression
- VS.NET重建强名称程序集(为第三方无强名称的程序集重新生成强名称程序集)
- thread.sleep()
- matlab mex 多个C文件
- wpf中popup的使用
- QT Linux 平台编译
- java List Collections.sort 排序 支持 对象属性 普通数据类型
- 常用10种PHP编辑器下载
- CListView中的OnTimer
- SciTE 2.21 汉化版