【问题标题】:UWP app project structure for Win8.1 backward compatibility用于 Win8.1 向后兼容的 UWP 应用项目结构
【发布时间】:2016-01-03 09:36:30
【问题描述】:

我正在编写一个新的 UWP 应用程序,我想尽可能多地重用业务逻辑代码(在 ViewModel 层中)来创建一个单独的 WPF 应用程序,该应用程序将在 Windows 7/8/8.1 上运行

我正在使用 MVVM Light 工具包来帮助解决这个问题

我目前的解决方案结构有 4 个项目:一个模型、一个 ViewModel、一个 UWP 应用程序和一个 WPF 应用程序,但我正在努力设置 ViewModel,使其能够同时针对 7/8/8.1和 10.

看着Oren Novotny's blog,我的想法是设置 ViewModel 以针对 net45 和 netcore45 框架(以及 UAP 框架),这将涵盖 Windows 8/8.1 商店应用程序和 .NET 4.5 桌面应用程序,但我是不确定这会使代码本身变得多么复杂,因为这是我第一次经历这个。

  1. 有没有人看过任何关于这类问题的好文章?我发现的所有文章都在谈论将应用程序从 8.1 升级到 10,而不是编写应用程序来最大程度地减少同时支持这两个平台的编码工作

  2. 我想我需要 2 个不同的视图:一个空白通用 Windows 应用程序和一个经典 WPF 应用程序,但我还需要有 2 个单独的 ViewModel 项目:经典桌面 dll(适用于

任何帮助或指点将不胜感激。

谢谢

【问题讨论】:

  • 这里肯定需要编译器指令。

标签: c# .net wpf mvvm uwp


【解决方案1】:

我正在编写一个新的 UWP 应用程序,我想尽可能多地重用业务逻辑代码(在 ViewModel 层中)来创建一个单独的 WPF 应用程序,该应用程序将在 Windows 7/8/8.1 上运行

在这种情况下,您只需在 Visual Studio 2015 中创建一个面向 .NET 4.6 和 UWP 的可移植类库。

查看 Oren Novotny 的博客,我的想法是设置 ViewModel 以针对 net45 和 netcore45 框架(以及 UAP 框架),这将涵盖 Windows 8/8.1 商店应用程序和 .NET 4.5 桌面应用程序

目前,我们无法创建同时涵盖 UWP 和 Windows 8/8.1 Store App 的可移植库。作为替代方法,我建议您使用 Windows Store App 8/8.1、WPF net45/net46 和 UWP 项目可以引用的 Share Project。

【讨论】:

  • 感谢 Jeffrey,这看起来是我最接近代码重用的方法。遗憾的是(但可以理解),它不允许添加 Nuget 包,所以我可能不得不采取不同的方法来使用 MVVM Light。
  • FWIW Rico,MVVM Light 当前未安装在经典 PCL 上。昨晚使用 PCL 看起来很有希望,直到我遇到这个问题。我还没有完全依赖 MVVM Light,所以我会看看实现相同结果的替代方法。
猜你喜欢
  • 1970-01-01
  • 2017-04-30
  • 2019-08-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-29
相关资源
最近更新 更多