是否可以在 WPF 和 UWP 10 应用程序之间共享中间件项目?

Is it possible to share a middle-ware project between WPF and UWP 10 apps?

假设我有以下项目的解决方案:

Presentation layer:  ProjectA1 (UWP 10)    ProjectA2 (WPF)
                           ↓                   ↓
Infrastructure-mid:  ProjectM1 (UWP 10)    ProjectM2 (.NET 4.6)
                           ↓                   ↓
Infrastructure-low:  ProjectL1 (UWP 10)    ProjectL2 (.NET 4.6)

演示项目绝对是特定于平台的,底层基础设施项目也是如此,因为它们分别利用了不同的 UI 和网络技术。 但是中级基础设施项目将是相同的,因为它们包含简单的内部逻辑。

能否将两个中级项目合并为一个 PCL,由 UWP 和 WPF 应用程序共享,如下所示:

Presentation layer:  ProjectA1 (UWP 10)    ProjectA2 (WPF)
                           ↓                   ↓
Infrastructure-mid:  ===========ProjectM (PCL)============
                           ↓                   ↓
Infrastructure-low:  ProjectL1 (UWP 10)    ProjectL2 (.NET 4.6)

..然后使用依赖注入将适当的低级对象放入通用的中级组件中?

是的。像这样使用 PCL 是在不同目标之间共享代码的推荐做法。