ILMerge: переименовывать пространства имен встроенных сборок? - PullRequest
3 голосов
/ 28 января 2011

Например, допустим, я хочу использовать Bouncy Castle в моей DLL. Поскольку я хочу упростить развертывание, я использую ILMerge для объединения MyDll.dll и BouncyCastle.Crypto.dll для получения MyDllMerged.dll. Я использую флаг /internalize в ILMerge, чтобы клиенты не использовали мой Bouncy Castle.

Если мой потребитель EndUser.exe также использует Bouncy Castle, он увидит, что "Org.BouncyCastle...TypeFoo уже определено в MyDllMerged.dll". Поэтому он обречен и не может использовать эту библиотеку сам.

Можно ли в любом случае сказать ILMerge переименовать все пространство имен в сборке, в дополнение к его интернализации? Или есть другие способы решения этой проблемы? (Я бы хотел, чтобы , а не , раздавали "объединенную" и "не объединенную" версии по отдельности.)

1 Ответ

1 голос
/ 28 января 2011

Один из способов - использовать обфускатор (SmartAssembly, Dotfuscator и т. Д.), Чтобы запутать только пространство имен Org.BouncyCastle созданной сборки.

...