我知道我肯定不是唯一遇到这个问题的人,但我的网络搜索至今没有找到什么有效的答案,可能是我在搜索关键词上有所遗漏。问题如下:
我们正在开发一个C#程序,该程序依赖于第三方后端。无论如何,我们无法替换这个后端。
这个后端的API由后端制造商以两个DLL的形式提供,目前基于.NET Framework 4.6.1,并且很快将升级到.NET Framework 4.8。一年或两年后可能使用其他版本,因为4.8是.NET Framework的最后一个版本。
我们的大部分程序涉及许多其他功能,我们希望使用比.NET Framework 4.8更新的技术来开发,例如.NET 6或.NET 8。
所以现在我的问题是:如何在同一个Visual Studio解决方案中拥有不同的项目,其中一个项目针对.NET Framework 4.8,而其他项目则针对.NET 6或其他更高版本?
(想象一下,一个没有工厂的汽车制造商试图用.NET 8.0完全自动化汽车设计过程,但最终不得不与只能支持.NET Framework 4.8的一个外部工厂进行交互。)
我之前曾有过包含.NET Framework 4.7.2项目和.NET Standard 2.0项目的解决方案,这两个项目可以兼容。但如果我有两个不兼容的.NET版本项目该怎么办呢?我期待有一种通用的架构或设计模式可以解决这个问题。我猜测可以通过某种微服务架构实现这一点,但不清楚它们之间应该如何最佳地进行通信……