ILMerge:重命名内化程序集的命名空间?

时间:2011-01-28 15:41:42

标签: .net ilmerge

例如,假设我想在我的DLL中使用Bouncy Castle。由于我希望简化部署,因此我使用ILMerge将MyDll.dllBouncyCastle.Crypto.dll合并为MyDllMerged.dll。我在ILMerge中使用/internalize标志,以便客户端不使用我的Bouncy Castle。

如果我的消费者EndUser.exe也使用了Bouncy Castle,他会看到Org.BouncyCastle...TypeFoo中已经定义了“MyDllMerged.dll”。因此,他注定要失败,不能自己使用他的那个图书馆。

除了内化它之外,还有告诉ILMerge重命名程序集中的所有命名空间吗?或者其他任何方法来解决这个问题? (我希望分别分发“合并”版本和“未合并”版本。)

1 个答案:

答案 0 :(得分:1)

一种方法是使用混淆器(SmartAssembly,Dotfuscator等)来混淆生成的程序集的Org.BouncyCastle命名空间。