如何在Win 8.1模拟器上测试我的UWP应用程序(在VStudio 2015和Win10中创建)?

时间:2016-11-12 19:33:37

标签: visual-studio visual-studio-2015 uwp win-universal-app emulation

我无法弄清楚如何从Visual Studio 2015运行Win8.1模拟器。

我正在运行Win10周年纪念版。 我还使用所有服务包运行Visual Studio Community 2015。

在Visual Studio的顶部,我看到以下内容: emulator choices

是的,我看到[下载新的模拟器...]选项,但它不是非常有用,因为它会带您进入具有大量选项的网页,并且它们不是非常具有描述性。 当您单击它时,它将带您: https://developer.microsoft.com/en-us/windows/downloads/sdk-archive

有谁知道我应该选择哪个选项来获取Win 8.1模拟器?

我猜它是这个,但它是解释中的旧版本(它的下载量为881MB): emulator choice

此外,这是应该安装的项目。我根本没有看到提到的模拟器...... install sdk

任何其他方式

还有其他方法可以确定我的UWP是否能在Win8.1上正常运行吗?

修改

部署Win 10有很多问题?赢得8.1应用程序。众多。 这就是为什么 troll 在没有评论的情况下对这个问题进行投票的原因?非常无益,巨魔。

我在2013年一直在编写我的应用程序(无论微软称之为什么)UWA? 这完全针对Win8.x。然后,我阅读了UWP文件,并确定我应该写为UWP( UNIVERSAL ,微软,我不认为你明白这个词是什么意思)。 Don't know what it means.

Visual Studio 2013 Win8.x版本不想在Visual Studio 2015中正确构建和运行。

想要确保Win8.x用户也可以运行我的应用程序

是的,微软,仍然有人在运行Win8.x. 我还在Visual Studio 2015中将应用程序构建为UWP,但我希望我的应用程序也能为Win8.x用户运行。你知道,我实际上是在尝试制作我的应用程序。

Visual Studio 2015构建Win8.1应用程序

我接受了回答这个问题的人的建议并开始构建Win8.1版本。我可以使用Studio 2013和2015。我可以在win10上构建并运行win8.1版本,所以我试图在Win8.1设备上运行它 - 任何东西! 我尝试这样做,Visual Studio 2015告诉我需要下载SDK。 好的,Visual Studio,我会这样做。

然后当安装完成并重新启动时,我尝试在8.1模拟器上运行它。不是。在微软的有限智慧中,他们最终在Win10模拟器上运行它。

赢取8.1模拟器?迷幻!

当我选择以下内容时 - 它清楚地显示了Win8.1 - 然后它在Win10模拟器上运行 win8.1 emulator fail!

哦,好吧,也许我做出了错误的选择......即使它说Win8.1。 我们选择一个特定的8.1手机模拟器吗?

more fail!

当您尝试使用该选项在Visual Studio 2015中构建时,您会收到以下错误: win8 professional

是的,这是正确的,微软。我没有Win 8 x64 Professional。这是因为当我尝试将此应用程序编写为UWP时,您强制升级到Windows周年纪念版以进行Win10开发。

支持两种不同版本的应用

微软是如此分散,没有任何作用。我会想出来并创建我的解决方法,这可能意味着支持两个不同版本的应用程序。那样就好。但是,微软(和其他无名巨魔(可能是MSMVP)?表现得不像这个问题有明显的答案。

祝所有陷入困境的人好运。

编辑2 关于提到的事情还有一件事:

  

有意义的是,新API与旧操作系统不兼容,确实如此   到处都是这样做的。

这确实有道理。我也是Android开发人员和iOS开发者,所以我使用Android Studio和XCode开发应用程序并定位各种硬件,所以我想对此发表评论。 实际上,这是真的。例如,您可以使用可能不再受支持的旧API或以前版本的Android上无法使用的新API。

要点

然而,重点是Android允许您:

  1. 很容易知道何时发生这种情况

  2. 轻松测试各种硬件模拟器,以便您了解

  3. 有更好,更全面的文档。

  4. 真的,XCode也是如此。 很明显,微软在不知道他们的目标是什么的情况下就跳进了这个想法。急于上市。

1 个答案:

答案 0 :(得分:7)

您无法在Windows 8.1模拟器或Windows Phone 8.1模拟器上测试UWP应用程序,因为UWP应用程序不向后兼容Windows 8.1。

UWP应用仅在Windows 10上运行,因此您只能支持升级到此版本操作系统的设备。

要同时定位Windows 10和Windows 8.1,您需要构建Windows 8.1应用程序而不是UWP应用程序。当您的项目是Windows Phone 8.1应用程序时,Windows Phone 8.1模拟器将在“调试”菜单中可用。

UWP应用是通用的

通用Windows API在它到达这个真正的普遍点之前经历了许多变化。

有一个非常有用的时间表,有助于理解这一点:

Windows API unification

正如您所看到的,融合需要进行大量的改进,以便将所有单独的操作系统整合到一个统一的Windows Core和统一编程模型中。

Windows 8.1运行时API和UWP API之间的变化并不大,但重点是,它必须是一个重大变化才能过渡到最终目标,即Windows 10。

Windows 10是最新版本的Windows 。这意味着,您今天构建的应用程序绝对是通用的并且支持前进。新模型不仅可以针对多种不同的设备外形(在自适应设计的帮助下),还可以针对一系列不同版本的操作系统。

使用 version adaptive code 的概念,您可以使用简单的if语句在使用之前查看特定功能或API是否可用:

// Check for presence of type MediaPlayerElement.
if (ApiInformation.IsTypePresent("Windows.UI.Xaml.Controls.MediaPlayerElement"))
{
    mediaControl = new MediaPlayerUserControl();
}
else
{
    mediaControl = new MediaElementUserControl();
}

这样做的最大好处是您始终可以定位最新的API,但在单一代码库中保持对旧版本的支持,而不需要任何“黑客”。您可以为特定设备的特定版本,特定输入微调您的代码,并为其命名。

我实际上认为自适应代码的Windows 10实现优于with Android now。通过将 Roslyn 集成到Visual Studio中,可以改善这一点,它允许 PlatformSpecific.Analyzer 自定义分析器您知道何时使用不受支持的API,甚至能够使用条件自适应代码if语句 修复您的代码。

走到这里是一条艰难的道路,但从现在开始,对我们的开发人员来说,这一切都会好得多。