引用程序没有强命名

1.打开SDK 命令提示窗口;  也就是VS2012 开发人员命令提示,一般所在目录C:\ProgramData\Microsoft

\Windows\Start Menu\Programs\Microsoft Visual Studio 2012\Visual Studio Tools


2.创建一个新的随机密钥对:直接输入下面的 名字和你的Dll名字一样,他这的名字是Interop.Scripting.Dll然后下面就那样
  sn -k Interop.Scripting.snk


3.反编译目标程序集,2完成之后在C:\Program Files (x86)\Microsoft Visual Studio 11.0目录下面

看snk是否存在,然后再把原来的Interop.Scripting.Dll拷贝到和snk同名的文件夹下,然后执行下面的命令
  ildasm Interop.Scripting.dll /out=Interop.Scripting.il
  

3.重新编译,附带强命名参数,执行上面命令之后删除Interop.Scripting.Dll,然后执行下面命令
  ilasm Interop.Scripting.il /dll /resource=Interop.Scripting.res /key=Interop.Scripting.snk /optimize


  

4.验证签名信息,上面命令执行完成之后会重新生成个dll所以就用这个就OKle
  sn -v Interop.Scripting.dll
  OK,将生成的dll文件重新引入到项目中然后编译。

首先打开visual studio 2005命令提示(开始-->程序-->microsoft visual studio 2005-->visual studio  tools-->visual studio 2005命令提示),在其中输入:sn  -k  PetShop.IBLL.snk回车,这样就生成了 PetShop.IBLL.snk,在路径C:/Program Files/Microsoft Visual Studio 8/VC找到 PetShop.IBLL.snk文件,放在IBLL项目的根目录也就是IBLL目录下,然后打开BLL项目的AssemblyInfo.cs,在里面加入如下代码行:[assembly: AssemblyKeyFile("PetSHop.IBLL.snk")], 然后重新生成PetShop.IBLL项目,这样一个强命名的程序集就生成了。

这个应该使用 程序集的属性 有个签名的  吧签名文件添加进去,把延迟签名去掉就好了

手动添加全局应用程序 缓存

方法一:(如果装有vs2003或是vs2008)


打开命令提示工具


1 .把程序集添加 GAC 中: GACUtil /i sample.dll (参数 /i 是安装的意思)
2
.把程序集移出 GAC GACUtil /u sample.dll (参数 /u 就移除的意思)
注意:不能将一个弱命名程序集安装 G AC 中。


方法二:


管理工具->Microsoft   .NET   Framework   2.0   配置->管理->我的电脑->程序集缓存->选中右键“添加”->将程序集添加到程序集缓存.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值