指定要使用的嵌入式程序集的副本/版本

问题描述

这是我一直在寻找解决方案的问题,一段时间以来没有任何运气。

我有一个可许可的代码库(“ CodeLib.dll”),其中嵌入了一个许可代码库(“ License.dll”)。到现在为止还挺好;消费型应用程序(“ TheApp.exe”)使用 CodeLib ,而该代码库的使用又受到 License 的限制。

但是,如果 TheApp 独立使用 CodeLib -使用 License 来控制TheApp的许可,是可能存在两个 License 模块的不兼容版本–一个 CodeLib 中,一个 TheApp 中。

在运行时发生的情况是,仅使用了 License 一个副本,这可能导致 CodeLib TheApp 抛出错误

理想情况下,我想指示 CodeLib 使用其自己的 License 嵌入式副本,并让 TheApp 使用其副本。

>

但是,除了将 License 编译为两个或多个可区分的程序集*外,我找不到解决该问题的方法。 (*这是一种非常狡猾的解决方案,并且仍然容易发生冲突,我非常想避免这种冲突。)

有什么想法吗?我需要非常强大的功能,因为一旦这些程序库消失了,我就无法对其进行太多控制。

注意:明确地说,所描述的特定场景将 License 嵌入为 CodeLib 中的资源,而 CodeLib 嵌入为中的资源em> TheApp 。因此,TheApp.exe是一个带有 CodeLib + License 的单程序集应用程序,并且其中嵌入了单独的 License 。 (是的,这是最坏的情况,但必须照顾到。)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)