博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 引用的程序集没有强名称
阅读量:4560 次
发布时间:2019-06-08

本文共 523 字,大约阅读时间需要 1 分钟。

首先查一下什么是强名称程序集,见百度百科帖子:

简单来说,就是为了解决Windows Dll Hell问题的,即不同公司开发同名程序集会相互覆盖。所谓强名称,就是使用RSA技术,采用一对公/私秘钥作为程序集的发布者,以进行区分,防止覆盖。

现在问题是有一个强名称程序集的工程,需要引用一个弱名称库,也就是普通库了。正常引用是失败的。错误显示是“Assembly generation failed -- 引用的程序集 'xxx' 没有强名称”。

解决办法如下:

1. 创建一个新的随机密钥对。
d:\temp> sn -k test.snk
2. 反编译目标程序集(假设是 a.dll)。
d:\temp> ildasm a.dll /out=a.il
3. 重新编译,附带强命名参数。
d:\temp> ilasm a.il /dll /resource=a.res /key=test.snk /optimize
4. 验证签名信息。
d:\temp> sn -v a.dll

注:以上命令行工具均在.net framework的BIN目录下

转载于:https://www.cnblogs.com/jearay/p/5123933.html

你可能感兴趣的文章
[ActionScript&Flex] FlashBuilder编译条件之如何屏蔽调试代码
查看>>
AngularJS 表达式
查看>>
微信开发学习之路(一)
查看>>
将现有硬盘(分区)无损创建为RAID1
查看>>
[原] GLES在iOS和Android上的不同
查看>>
分布式监控解决方案zabbix03-监控mysql
查看>>
[转]DB2错误代码大全
查看>>
[转]AJAX 简介
查看>>
【转】SWT/JFace的对话框
查看>>
2019-2-28作业
查看>>
VS2010+WDK开发环境搭建最简易方法
查看>>
果然逆天,处理一亿条int32数据排序,需要耗时32秒
查看>>
解锁Dagger2使用姿势(二) 之带你理解@Scope
查看>>
设计模式——抽象工厂模式详解
查看>>
十年,青春就是一转眼的事
查看>>
C++编程规范和各种资源
查看>>
两只小熊队高级软件工程第七次作业敏捷冲刺2
查看>>
[原创]如何编写多个阻塞队列连接下的多生产者多消费者的Python程序
查看>>
如何提高数据迁移和复制的速度
查看>>
.9图片
查看>>