使用ILMerge将重命名的程序集合并为.Net中的单个重命名的程序集

Using ILMerge to merge strongly named assemblies into a single strongly named assemly in .Net

如果所有.Net程序集都使用相同的密钥对(即相同的.snk文件)进行了强命名,那么在合并所有这些程序集时,ILMerge实用程序将自动对具有相同密钥对的最终程序集进行强命名,或者需要指定.snk是否在ILMerge命令中包含以下命令片段中的文件?

我假设如果所涉及的所有文件都已使用相同的.snk文件强命名,则无需指定.snk文件。

1
ilmerge /out:Merged.dll Primary.dll Secondary1.dll Secondary2.dll /keyfile:sg.snk

要强集程序集(并确保只有原始作者可以这样做),需要一个私钥(snk)。 ILMerge(或生成或修改程序集的任何工具)也需要它。

否则,任何人都可以修改(并重新签名)程序集,这会破坏签名目的(保证作者身份)。