如何使用 Windows 10 创建特定于设备系列的项目,就像在 W8.1/WP8.1 上一样?

How to create device-family-specific projects with Windows 10, like on W8.1/WP8.1?

我打算将我的 WP8.1 应用程序作为通用应用程序移植到 Windows10。 我看到 MS 添加了创建单个通用项目的功能,并创建了包含共享单个代码隐藏文件的 XAML pages/controls 的不同系列特定文件夹。 不过我不喜欢关于这种方法的一些事情:

• 我只能为不同的设备设置不同的 XAML 文件,但使用 相同的 .cs 文件,因此创建某些设备并不容易-特定的 UI 逻辑,比如动画和东西

• 因为我只有一个通用项目,所以我必须在 运行时 检查我需要的 APIs/classes 的可用性,而不是能够看看我能不能在编译时使用它们,我认为这要好得多。

我看过一个 MVA 视频,其中 Jerry Nixon 和 Andy Wigley 说 Windows 10 仍然支持经典的多头 Universal 项目,但我不知道如何设置它们,并且我在任何地方都找不到文档。

每个人都在谈论这个带有共享 .cs 文件的单一项目,但我真的更愿意处理一个多头项目:一个用于手机,一个用于 desktop/tablets,可能还有一个 共享项目或某种PCL在两个项目之间共享类和东西(像W8.1/WP8.1这样的共享项目会很棒) .

知道怎么做吗?

从技术上讲,Windows 8.1 通用应用程序由 3 个项目构建而成。一个用于 Windows 8.1 一个用于 Phone 和一个共享 CL。 虽然没有为此内置的模板,但您可以通过手动操作或使用 VS 可扩展性工具创建自己的模板来获得相同的结果。 您需要做的就是创建一个 UAP 解决方案,添加另一个 UAP 项目,相应地命名它,假设 MyProjectName.Phone 和一个名为 MyProjectName.Shared 的通用 CL 引用其他两个中的共享项目,您就可以开始了摇滚...

要将您的项目定位到单个设备系列,您可以在 Package.Appmanifest 中指定该意图。

<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.0.0" MaxVersionTested="10.0.0.0" />