Например, допустим, я хочу использовать 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 переименовать все пространство имен в сборке, в дополнение к его интернализации? Или есть другие способы решения этой проблемы? (Я бы хотел, чтобы , а не , раздавали "объединенную" и "не объединенную" версии по отдельности.)