如何:为 Windows Phone 指定目标版本或升级项目

2012/2/9

当您使用 Windows Phone SDK 7.1 新建 Windows Phone 应用程序或游戏时,您可以把 Windows Phone OS 7.0 或 Windows Phone OS 7.1 作为目标。对于现有的 Windows Phone OS 7.0 应用程序或库项目,您可以继续以 Windows Phone OS 7.0 为目标,或者可以将应用程序升级为以 Windows Phone OS 7.1 为目标。下表列出了可帮助您选择目标版本的 Windows Phone SDK 支持选项。有关应用程序兼容性的更多信息,请参阅 Windows Phone OS 应用程序兼容性

Windows Phone SDK 版本

面向的 Windows Phone OS 版本

创建或打开项目

部署或调试项目

使用 Windows Phone OS 7.1 功能

7.0

7.0

绿色复选标记

绿色复选标记Windows Phone Emulator 7.0 和具有向后兼容性的设备

红色 x

7.0

7.1

红色 x

红色 x

红色 x

7.1

7.0

绿色复选标记

绿色复选标记

红色 x

7.1

7.1

绿色复选标记

绿色复选标记

绿色复选标记

下图总结了使用 Windows Phone SDK 7.1 开发应用程序时的部署选项。

使用工具的部署支持。

您可以使用 Visual Studio 中提供的目标版本对话框来设置新 Windows Phone 应用程序或游戏项目的目标版本。应用程序解决方案可以包含以不同 Windows Phone 版本为目标的项目,但游戏解决方案中项目必须全部定位于相同版本的 Windows Phone。这意味着对于应用程序项目来说,Windows Phone OS 7.1 项目可以引用 Windows Phone OS 7.0 项目;但是,Windows Phone OS 7.0 项目无法引用以 Windows Phone OS 7.1 为目标的项目。下图显示了应用程序的项目引用支持。

项目引用选项

设置目标版本

  1. 在 Visual Studio 中的“文件”菜单上,选择“新建项目”

  2. 从“已安装的模板”清单中,选择 Silverlight for Windows PhoneXNA Game Studio 4.0,然后选择所提供的模板之一。

  3. 指定项目的名称,然后单击“确定”

    显示目标版本对话框。下图显示了应用程序的目标版本对话框。游戏的对话框十分相似。

    平台选取器对话框
    警告说明警告:

    当您使用 Windows Phone SDK 7.1 中添加的新模板之一来创建项目时,不显示目标版本对话框。这些项目将以 Windows Phone OS 7.1 为目标。

  4. “目标 Windows Phone OS 版本”下拉列表中,选择 Windows Phone OS 7.0Windows Phone OS 7.1 来指定您应用程序的目标版本,然后单击“确定”

您可以将以 Windows Phone OS 7.0 为目标的现有 Windows Phone 应用程序或游戏项目升级为以 Windows Phone OS 7.1 为目标。但是,需要特别注意的是一旦升级项目,以后便无法再将其降级为 Windows Phone OS 7.0。因此,您应在升级项目前创建项目的备份副本。当您升级游戏项目时,将会升级整个解决方案。

若 Windows Phone OS 7.1 功能已添加到应用程序,则从 Windows Phone OS 7.0 到 Windows Phone OS 7.1 的项目升级可能需要其他调整。升级的项目不会添加任何 Windows Phone OS 7.1 引用。您可能需要在项目中添加对要使用的新 API 的引用。

升级的项目不会在应用程序清单文件中添加功能。若将新增 Windows Phone OS 7.1 功能添加至应用程序,则可能需要手动编辑清单文件或运行“功能检测工具”。

升级现有 Windows Phone OS 7.0 应用程序

  1. 打开您要在 Visual Studio 中升级的 Windows Phone OS 7.0 应用程序项目。

  2. 在“解决方案资源管理器”中选择项目。

  3. 右键单击项目并在上下文菜单中选择“升级到 Windows Phone 7.1”。项目将升级到目标 Windows Phone OS 7.1。

    - 或 -

  4. “项目”菜单中,选择“属性”项来打开项目设计器。

  5. “应用程序”选项卡中,将“目标 Windows Phone OS 版本”下拉列表更改为 Windows Phone OS 7.1。项目将升级到目标 Windows Phone OS 7.1。

    下图显示了目标版本下拉列表。

    目标 Windows Phone 版本
  6. 若您将 Windows Phone OS 7.1 功能添加到应用程序,则您可能需要添加 Windows Phone OS 7.1 引用。

  7. 若您将 Windows Phone OS 7.1 功能添加到应用程序,则您可能需要在应用程序清单文件中更新功能。有关更多信息,请参阅 Windows Phone 的应用程序清单文件如何确定应用程序功能

升级现有 Windows Phone OS 7.0 游戏

  1. 打开您要在 Visual Studio 中升级的 Windows Phone OS 7.0 游戏项目。

  2. 在“解决方案资源管理器”中选择项目。

  3. 右键单击项目并在上下文菜单中选择“升级 Windows Phone 项目”

    - 或 -

    “项目”菜单上,选择“升级 Windows Phone 项目”菜单。

    将显示“升级 Windows Phone 项目”对话框。

  4. 单击“升级”来升级项目,或单击“取消”来取消升级过程。

  5. 若您将 Windows Phone OS 7.1 功能添加到应用程序,则您可能需要添加 Windows Phone OS 7.1 引用。

  6. 若您将 Windows Phone OS 7.1 功能添加到应用程序,则您可能需要在应用程序清单文件中更新功能。有关更多信息,请参阅 Windows Phone 的应用程序清单文件如何确定应用程序功能

创建可在 Windows Phone OS 7.0 和 Windows Phone OS 7.1 上运行的应用程序或游戏的最简便方法,就是创建以 Windows Phone OS 7.0 为目标的应用程序,但需要在两个设备上对其进行测试。

创建可在 Windows Phone OS 7.0 和 Windows Phone OS 7.1 上运行的应用程序

  1. 使用 Windows Phone SDK 7.1 创建以 Windows Phone OS 7.0 为目标的应用程序。

  2. 使用提供 Windows Phone SDK 7.1 的 Windows Phone Emulator 7.1 测试应用程序。

  3. 在 Windows Phone OS 7.0 设备和 Windows Phone OS 7.1 设备上部署和测试应用程序。

若您要创建可在 Windows Phone OS 7.0 和 Windows Phone OS 7.1 上运行的应用程序,您可以创建两个版本的应用程序,一个以 Windows Phone OS 7.0 为目标,另一个以 Windows Phone OS 7.1 为目标。但是,此解决方案将导致分别在两个应用程序中维护重复的代码。另一种方法是将通用逻辑放入以 Windows Phone OS 7.0 为目标的库项目中,并从 Windows Phone OS 7.0 和 Windows Phone OS 7.1 应用程序项目引用此项目。您只能将此方法用于应用程序项目,因为 Windows Phone 游戏要求解决方案中的所有项目都以相同版本的 Windows Phone OS 为目标。

在以 Windows Phone OS 7.0 和 Windows Phone OS 7.1 为目标的应用程序中使用相同代码

  1. 创建以 Windows Phone OS 7.0 为目标的 Windows Phone 库项目。

  2. 将大多数业务逻辑添加到此项目。您必须仅将 Windows Phone OS 7.0 中支持的功能用于此项目。

  3. 创建两个应用程序项目,一个以 Windows Phone OS 7.0 为目标,另一个以 Windows Phone OS 7.1 为目标。

  4. 将引用添加到每个应用程序项目的 Windows Phone 库项目。

  5. 将必要的 UI 元素和版本特定的逻辑添加到应用程序项目。

  6. 使用该应用程序目标平台的正确设备来测试两个应用程序。

显示: