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

发布于 2024-10-14 22:29:41 字数 570 浏览 1 评论 0原文

例如,假设我想在 DLL 中使用 Bouncy Castle。由于我想简化部署,因此我使用 ILMerge 组合 MyDll.dllBouncyCastle.Crypto.dll 来生成 MyDllMerged.dll。我在 ILMerge 中使用 /internalize 标志,这样客户端就不会使用我的 Bouncy Castle。

如果我的消费者 EndUser.exe 也使用 Bouncy Castle,他会看到“Org.BouncyCastle...TypeFoo 已在 MyDllMerged.dll 中定义代码>”。因此,他注定无法亲自使用他的那个图书馆。

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

For example, let's say I want to use Bouncy Castle in my DLL. Since I want to ease deployment, I use ILMerge to combine MyDll.dll and BouncyCastle.Crypto.dll to produce MyDllMerged.dll. I use the /internalize flag in ILMerge so that clients do not use my Bouncy Castle.

If my consumer EndUser.exe also uses Bouncy Castle, he'll see that "Org.BouncyCastle...TypeFoo is already defined in MyDllMerged.dll". Therefore, he is doomed and cannot use his that library himself.

Is there anyway to tell ILMerge to rename all namespace in an assembly, in addition to internalizing it? Or any other ways to solve this problem? (I'd like not to have to distribute the "merged" version and "unmerged" version separately.)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

小巷里的女流氓 2024-10-21 22:29:41

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

One way would be to use an obfuscator (SmartAssembly, Dotfuscator, etc) to obfuscate just the Org.BouncyCastle namespace of the produced assembly.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文