转自:http://www.rainsts.net/feed.asp?q=comment&id=644
在设置了强名称的项目里是没有办法引用一个没有强名称的程序集的,编译时会出现类似 "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
sn.exe 似乎只能对已经签名或延迟签名的程序集进行操作……
-----------------------------------------------------------------------------------------
请在vs2005 命令提示符下执行上述命令!