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

如何在不同的平台上管理UWP的代码?,uwp,Uwp,伙计们。我正在写一个UWP程序。它将运行在WINDOWS 10(X86平台)和WINDOWS IOT(ARM平台) 两个不同的平台几乎90%的代码相同,10%的代码不同。 我不想创建两个不同的项目,这会让我两次编写许多代码。这是不必要的。 但是,我想知道Visual Studio是否有办法让我解决这个问题。例如:如果在ARM中运行,它将不会编译X86的代码;如果在X86中运行,则不会编译ARM的代码。 Visual Studio可以这样做吗?或者我如何解决它?谢谢。尝试以下方法: Package

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

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

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

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

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

尝试以下方法:

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
}

我认为你的问题不是一个问题。 UWP应用程序可以在x86、x64和arm体系结构上运行。因为只有在编译代码时,才应该选择编译为x86、x64和arm,而不是在运行时,这是不可能的

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

我认为你应该关注以下几点:

  • 通过直接的UI布局和交互,您可以使用Microsoft建议的自适应、负责任的设计
  • 特定平台。物联网设备具有桌面所不具备的某些功能,反之亦然。 您可以使用针对UWP的Windows Iot扩展和针对UWP的Windows桌面扩展来实现这些特定于平台的功能