如何在不同平台上管理UWP的代码?

时间:2017-08-24 02:54:37

标签: uwp

伙计。我正在编写一个UWP程序。它将在WINDOWS 10(X86平台)和WINDOWS IOT(ARM平台)中运行。

两个不同的平台几乎90%的代码是相同的,10%是不同的。

我不想创建两个不同的项目,它会让我写两次代码。这是不必要的。

但是,我想如果Visual Studio有办法让我解决这个问题。例如:如果在ARM中运行,它将不会编译X86的代码;如果在X86中运行,它将不会编译ARM的代码。

Visual Studio可以这样做吗?或者我该如何解决?谢谢。

2 个答案:

答案 0 :(得分:1)

试试这个:

Package package = Package.Current;
var os = package.Id.Architecture.ToString();

if (os == "X86")
{
 //Write code works in X86 only
}
else if (os == "X64")
{
 //Write code works in X64 only
}
else 
{
 //Write code works in ARM only
}

答案 1 :(得分:0)

我认为你的问题不是问题。 UWP应用程序可以在x86,x64和arm架构上运行。因为只有在构建代码时,才应该选择构建到x86,x64和arm,而不是在运行时,这是不可能的。

当您编写逻辑代码时,您几乎不需要关心应用程序将在哪种架构上运行。

我认为你应该关心的是:

  • Dirffrent UI布局和交互,您可以使用Microsoft建议的自适应,负责任的设计。
  • 特定于平台。您的设备具有桌面没有的一些功能,反之亦然。 您可以使用Windows Iot Extentions for UWP和Windows桌面扩展来实现这些平台特定功能。