ILMerge合并多个dll程序集,签名问题有待解决

在开发程序时为了代码清晰方便修改,对程序集的添加引用和命名都比较规范,但是生成解决方案是VS会默认将程序集编译为对应的dll文件,在发布程序时我们可能不希望直接将所有dll文件全部暴露给用户,此时需要考虑将两个或多个dll文件合并为一个dll
         经过搜索,发现微软官方提供了一款小工具,ILMerge(官方下载地址:http://www.microsoft.com/downloads/en/details.aspx?familyid=22914587-b4ad-4eae-87cf-b14ae6a939b0&displaylang=en),完成安装后在安装文件夹下出现一个ILMerge.exe应用程序。

         cmd命令进入DOS操作台,cd命令进入ILMerge.exe所在的文件夹,使用下面的语法进行两个或多个dll文件的合并,C:/ILMerge.exe /lib c:/1/1.dll c:/1/2.dll c:/1/3.dll /out:c:/1/2/lusens.DLL,上面是最简单的合并方法,同时可以参考官方提供的说明文档,不过是英文,嘿嘿

         在开发程序是可能对每个程序集签名,生成的dll为强类型,但是使用上面的语法生成的dll文件并没有签名,所以如果在开发程序时使用签名,合并dll后引用系统会提示“程序集生成失败,饮用的程序集没有强名称”。

         网上有人提出对没有源代码的dll程序集签名,可以先使用ildasm反编译dll为il文件,然后使用ilasm生成签名的dll,但是这个方法我试验了一下,可能是我哪里方法错了,没有生成成功签名的dll文件。

         在将多个dll合并为一个dll时,应该有一种办法能直接在生成过程过程中使用签名,使生成的dll文件能直接在项目中引用,正在摸索中…
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值