c# - 运行引用多个版本的“第 3 方”dll 的 .net 应用程序
问题描述
我们正面临以下挑战。
我们有一个应用程序——我们称之为 WebAPI。WebAPI 通过它自己的一组 dll 与第 3 方数据库(我们称之为 TDB)进行交互——我们称之为 TDBLogic.dll、TDBServices.dll、TDBBusiness.dll。这些 dll 都是 1.2 版,并已作为参考包含在 WebAPI 解决方案中。WebAPI 解决方案具有与这些 dll 交互并执行必要操作的特定类。TDB 交互非常复杂,我们有一些对象(让我们调用一个 TDBRepo)从 TDB dll 的接口继承。
挑战在于我们的环境包含多个 TDB 数据库,并且每个数据库都运行在不同的版本上。如果我们希望 WebAPI 与不同的 TDB 数据库交互,则必须调用正确版本的 TDB dll。此外,如上所述,与这些 dll 交互的 TDBRepo 必须根据其使用的 TDB dll 的版本而有所不同。
那是我们当前问题的简化版本,还有很多事情要做,但我正在尝试以最简单的形式找到正确的方法来处理这个问题。
我最初想只创建调用 TDB dll 的类的多个版本,包括每个版本的 TDBRepo,然后引用相关的 Dll。问题当然是 dll(TDBBusiness、TDBLogic 和 TDBServices)在每个版本中具有相同的名称。
如果有人可以建议一种在 .net c# 解决方案中正确处理此问题的方法,我将不胜感激。
有没有办法创建引用这些 dll 的特定版本的相关 TDBRepo 类?
版本切换必须在使用 WebAPI 期间的运行时发生,而不仅仅是在 LOAD 时发生。
谢谢您的帮助!
解决方案
推荐阅读
- reactjs - 如何防止地图循环中重复的onChange值
- c++ - 模型未使用 setContextProperty 更新
- c++ - 没有运算符“+=”与这些操作数匹配
- javascript - Cloudinary 直接上传文档示例不清楚
- python - 尝试创建 GAN:InvalidArgumentError: Matrix size-incompatible
- python-3.x - Python/Pandas - 将源数据与每周列准备为时间序列
- java - 如何在 Java 中使用 Gson @SerializedName 序列化嵌套对象?
- python - 使用区分大小写的文本/标签进行解析
- twig - 使用 |replace with array 作为替换的问题
- java - 应用程序已停止。为什么?