签署未签名的程序集

dag*_*da1 11 .net horn

最近NHibernate 2.1的升级带来了巨大的头痛情况.

似乎大多数项目默认构建为签名程序集.例如,fluentnhibernate引用密钥文件fluent.snk.

Nhibernate.search从我可以收集的内容中构建unsigned,并且如果引用生成的密钥文件,则不会构建签名,您会收到错误:

参考组件"Lucene.Net"没有强名称

这意味着像castle.activerecord这样有nhibernate.search作为依赖项的项目将无法构建,因为你得到了可怕的错误引用程序集nhibernate.search没有强名称:

相当多的项目使用caslte.activerecord,因此构建它是非常重要的.

有没有人知道该怎么做,因为我完全没有想法?

这完全是疯狂的.

Dve*_*Dve 16

  1. 获取所提供程序集的MSIL在VS.NET命令提示符下,输入以下命令:c:> ildasm providedAssembly.dll /out:providedAssembly.il
  2. 重命名/移动原始程序集我只是将".orig"添加到文件名.
  3. 从MSIL输出和汇编密钥文件创建新程序集假设您已有汇编密钥对文件,请从VS.NET命令提示符处执行以下操作:c:> ilasm providedAssembly.il/dll /key=keypair001.snk

来源http://www.andrewconnell.com/blog/archive/2004/12/15/772.aspx