3

たとえば、DLL でBouncy Castleを使用したいとします。デプロイを簡単にしたいので、ILMerge を使用して結合MyDll.dllBouncyCastle.Crypto.dll、生成しMyDllMerged.dllます。ILMerge でフラグを使用して/internalize、クライアントが私の Bouncy Castle を使用しないようにします。

私の消費者EndUser.exeが Bouncy Castle も使用している場合、" は "Org.BouncyCastle...TypeFooで既に定義されていることがわかりますMyDllMerged.dll。したがって、彼は運命にあり、そのライブラリを自分で使用することはできません。

それを内部化することに加えて、ILMergeにアセンブリ内のすべての名前空間の名前を変更するように指示する方法はありますか? または、この問題を解決する他の方法はありますか? ( 「マージ済み」バージョンと「未マージ」バージョンを別々に配布する必要はありません。)

4

1 に答える 1

1

1 つの方法は、難読化ツール (SmartAssembly、Dotfuscator など) を使用して、生成されたアセンブリの Org.BouncyCastle 名前空間だけを難読化することです。

于 2011-01-28T16:06:12.680 に答える