2014-07-08 262 views
3

我一直在研究Windows Phone 8应用程序,现在我想更改为Windows Phone 8.1。我怎样才能做到这一点?如何将Windows Phone 8应用程序移植到Windows Phone 8.1?

我应该创建一个新的Windows Phone 8.1应用程序并将所有现有文件复制到它吗?或者是否有自动化的方式让我将现有的解决方案升级到8.1?

+1

当您在VS2013中打开您的应用程序并右键单击您的项目时,您应该看到一个选项* Retarget到Windows Phone 8.1 *。看看是否有帮助。不要忘记做一个备份 - 它是*单向*。 – Romasz

+0

,似乎已经做到了!谢谢 – DaveDev

+1

“重定向到Windows Phone 8.1”将使Silverlight 8.1应用程序不是WinRT 8.1应用程序。 – Faisal

回答

9

有两种方法做到这一点:

  • 像评论 - 右键点击oyour项目,你应该看到重新定位到Windows Phone 8.1
  • 或者您可以打开属性的窗口您的项目和下拉框目标Windows Phone操作系统版本您可以选择Windows Phone 8.1

在任何情况下,VS都会询问你是否确实这么做 - 它是单向操作,所以值得为你的解决方案做一个备份。由于WP8.1具有向后兼容性,因此在大多数情况下不应该有任何问题。


一些澄清的追随者:

随着WP8.0应用程序是的Silverlight,retargetting它仍然是一个的Silverlight应用程序,但WP8.1(一些新的特点和enhancemens)之后。

想到,如果你想重定向到WP8.1运行时,它是a totally different thing - 它是一种不同类型的应用程序,different API等等。你将不得不手动移植它。请注意,WP8.0的所有功能都尚未在WP8.1运行时提供 - here is a good article

+0

感谢您对此的额外澄清。这真的帮助我了解我所面临的问题。昨天我花了很多时间试图理解为什么我的应用程序,虽然它似乎是“Windows Phone 8.1”具有不同的属性和行为,以“Windows Phone 8.1”的应用程序。看起来微软真的已经放弃了这一点。 – DaveDev

+1

@DaveDev我很高兴它有帮助。是的,这也让我花了一段时间才明白发生了什么。只需添加 - 当您移植到WP8.1 Runtime时 - 还可以查看[不同的应用程序生命周期](http://msdn.microsoft.com/zh-cn/library/windows/apps/xaml/hh464925.aspx),有一些陷阱,并且我最喜欢的一个 - OnNavigatedTo()在恢复事件后没有被调用。另外,当你调试暂停/恢复不会被解雇,除非你调用它。 – Romasz

+0

只是强化@Romasz所说的:当在调试器下时,WP不会像它应该触发“挂起”事件(例如,当您通过按下开始按钮,后退按钮(从应用程序的第一个屏幕)离开应用程序或通过任务切换器)。相反,应用程序会从屏幕上消失,但仍然运行并且处于活动状态,就好像它仍然处于前景中一样)。为了模拟调试器下应用程序的正常生命周期,您需要在VS中打开工具栏“调试位置”,然后按“暂停”按钮。当您在没有调试器的情况下运行您的应用程序时,一旦应用程序关闭屏幕,就会触发“暂停”事件。棘手。 –

相关问题