当我进行构建时,我一定做错了什么。我希望我的当前更新可用于 Windows Phone 7 和 Windows Phone 8。我正在使用 WP8 SDK 并以 OS 8 为目标。
当我上传我的 XAP 时,我得到了 AnyCPU.xap,现在我的应用程序仅在 WP8 上可用。我怎样才能让它在 WP7 上也可用?
当我进行构建时,我一定做错了什么。我希望我的当前更新可用于 Windows Phone 7 和 Windows Phone 8。我正在使用 WP8 SDK 并以 OS 8 为目标。
当我上传我的 XAP 时,我得到了 AnyCPU.xap,现在我的应用程序仅在 WP8 上可用。我怎样才能让它在 WP7 上也可用?
DevCenter 和 WP 运行时的工作方式如下:
但是,没有办法将在 VS2012 中编译的 WP8 项目并在 WP7 上运行。您不能在 WP7 上运行 WP8 XAP。考虑到这一点,这一点非常明显,因为 WP8 中使用的程序集在 WP7 上不可用。
因此,开发人员必须选择适用于他们的应用程序的跨 WP7 和 WP8 的代码共享模型:
如果您的应用仅使用 WP7 功能集并且在 WP8 HD 上看起来不错,请使用 WP7 XAP。
如果您的应用程序仅部分使用 WP8 功能集,请在 WP7 XAP 上创建,并共享代码库以创建具有 WP8 功能集的 WP8 XAP。
如果您的应用程序必须具有 WP8 功能集(例如 NFC 或以蓝牙为中心的应用程序等),那么您显然不能针对 WP7 并且只能提交 WP8 XAP。
这是一个打印屏幕,演示了 DevCenter 支持在不同平台版本和不同分辨率上为同一应用程序提交多个 XAP:
有关如何同时定位 WP7 和 WP8 的更多信息,请参阅这篇诺基亚开发者文章。本文解释了如何在运行时和编译时在 WP7 和 WP8 之间共享代码,WP8 独有的新功能以及如何支持多种分辨率。我帮助撰写了那篇文章,所以希望你会发现它有用。有很多有用的技术可能并不明显。
开发中心现在允许您为单个应用程序提交多个 xap 文件。
因此,您可以针对 7.* 提交一个版本,而针对 8.* 提交其他版本。例如
这允许您从一个应用程序同时定位两个平台。
您需要重新上传 XAP 文件,并将Target Windows Phone OS Version
Visual Studio 项目属性设置为Windows Phone OS 7.1