【发布时间】:2021-11-09 14:04:32
【问题描述】:
我需要引用一个仅适用于 .NET 4.8 的专有客户端库,没有其他选择,这是一个非常狭窄的供应商库,我们必须将它与 .NET 48 一起使用。
正在开发的新应用是服务应用,需要长期维护。并且这个应用程序只能安装在 Windows 上是可以的。但我们希望应用程序能够从 .NET 6 中受益,同时能够使用 .NET 4.8 客户端库。
所以我的问题是:什么会/可能是一个好的解决方案:
- 尊重我需要 4.8 中的一些代码才能使用该库。
- 利用 .NET 6 和未来的增强功能
感谢您的帮助!
【问题讨论】:
-
您不能同时拥有 .NET 和 .NET Framework 代码,甚至无法编译开始。如果你让它以某种方式编译,由于缺少库,它将在运行时(在 .NET 6 下)失败。您将需要 2 个独立的应用程序并在它们之间使用某种通信方法
-
如果库依赖于 WCF,那么您将陷入困境:WCF 在 .NET 6 上不可用(至少以相同的形式)
-
@CamiloTerevinto 这不是真的,您可以从 .NET 6 引用 .NET 4.8,它会编译。在许多情况下,它甚至不会在运行时失败。在其他情况下,虽然它会。
-
@Evk 我专门讨论了这个场景,其中引用了 WCF 库
-
@codea
this is not the topic,实际上是。 WCF 是一个库,而不是一个协议。底层协议是 SOAP、.NET Remoting 或者可能是供应商创建的自定义协议。远程处理在 15 年前就过时了,只有 8* 很少的服务器使用它。没有什么能阻止您使用例如 Visual Studio 中的Connected Services选项或svcutil命令行工具为SOAP 创建和使用WCF 客户端。服务器使用什么协议?