wp7、8丿____如何面向多个版本开发 Windows Phone 应用

适用于: Windows Phone 8 | Windows Phone OS 7.1

您可以使用多种不同的方法创建和维护面向 Windows Phone 8 和 Windows Phone OS 7.1 的应用。

  • 创建可在两个版本上运行的单个 Windows Phone OS 7.1 应用。

    您可以创建仅使用 Windows Phone OS 7.1 功能并针对两个版本进行测试的单个项目。这是“最小公分母”方法。如果使用该方法,应用将无法使用 Windows Phone 8 中引进的任何增强功能或新功能。

  • 针对每个版本创建应用的独立副本。

    您可以创建面向不同版本的独立项目。如果使用此方法,将难于维护应用的两个独立版本,并且难于同步在两个版本上发生的每次更新。

  • 创建共享公共代码的类库的应用的两个副本。

    您可以在同一解决方案中创建两个项目,而且将公共代码重构进共享的类库项目。类库项目必须面向 Windows Phone OS 7.1。如果使用该方法,您的共享类库将无法使用 Windows Phone 8 中引进的任何增强功能或新功能。

  • 创建共享链接资源代码文件的两个应用副本。

    您可以在共享资源代码的同一解决方案中创建两个项目。然后,可以在代码中使用条件编译变量来隔离在 Windows Phone 8 中为全新的应用功能。

本主题包含以下各节。

创建可在 Windows Phone 8 和 Windows Phone OS 7.1 上运行的应用或游戏的最简便方法,就是创建面向 Windows Phone OS 7.1 的应用,并在两个版本上对其进行测试。然而,此应用将无法使用 Windows Phone 8 中引进的新功能或 API。

创建可在 Windows Phone 8 和 Windows Phone OS 7.1 上运行的单个 Windows Phone OS 7.1 应用。

  1. 使用 Windows Phone SDK 8.0 创建面向 Windows Phone OS 7.1 的应用。

  2. 使用提供给 Windows Phone SDK 8.0 的 Windows Phone OS 7.1 模拟器测试应用。同时,在 Windows Phone OS 7.1 设备上部署和测试该应用。

  3. 使用提供给 Windows Phone SDK 8.0 的 Windows Phone 8 模拟器测试应用。同时,在 Windows Phone 8 设备上部署和测试该应用。

另一种方法是把公共逻辑分解为面向 Windows Phone OS 7.1 的库项目。然后,从 Windows Phone OS 7.1 和 Windows Phone 8 应用项目引用此库项目。

另一种创建可在 Windows Phone 8 和 Windows Phone OS 7.1 上运行的应用或游戏的方法是创建面向 Windows Phone OS 7.1 的应用,然后创建同一应用的 Windows Phone 8 版本。每个应用驻留在 Visual Studio 中的独立项目中,并且每个项目均独立维护。此方法没有代码重复使用的优势,因为需要在应用的独立副本中做改进。

为 Windows Phone 8 和 Windows Phone OS 7.1 创建应用的独立副本。

  1. 使用 Windows Phone SDK 8.0 创建面向 Windows Phone OS 7.1 的应用。

  2. 在文件系统中制作应用项目的副本。

  3. 在 Visual Studio 中打开副本,并将项目升级到 Windows Phone 8。有关更多信息,请参见如何将应用项目升级到 Windows Phone 8

  4. 单独开发、测试和维护应用的每个副本。然而,您可以在 Visual Studio 的单个解决方案中结合两个项目。

您可以创建两个共享公共类库的项目。该解决方案减少重复代码。但是,因为类库项目必须面向 Windows Phone OS 7.1,因此共享的类库无法使用 Windows Phone 8 中引进的任何增强功能或新功能。

创建共享公共代码的类库的应用的两个副本的步骤。

  1. 使用 Windows Phone SDK 8.0 创建或打开面向 Windows Phone OS 7.1 的应用。

    还可以选择命名或重命名 Windows Phone OS 7.1 项目,以将其与将要在同一解决方案中创建的 Windows Phone 8 项目进行区分。例如,您可以将 SharedLibraryApp 重命名为 SharedLibraryApp.WP71

  2. 在 Visual Studio 中的同一解决方案中,添加面向 Windows Phone OS 7.1 的新的 Windows Phone 类库项目。

  3. 在应用项目中,添加对新的类库项目的引用。

  4. 尽可能多地将原始应用项目中的代码重构进类库。

  5. 在 Visual Studio 中的同一解决方案中,添加面向 Windows Phone 8 的新应用项目。

  6. 在新应用项目中,添加对共享的类库项目的引用。

您可以创建两个共享代码的链接的项目,并使用条件编译隔离版本特定的部分。此解决方案最大程度地减少了重复,有助于确保一致性,并使维护更加简便。

创建共享链接资源代码文件的两个应用副本

  1. 使用 Windows Phone SDK 8.0 创建或打开面向 Windows Phone OS 7.1 的应用。

    还可以选择命名或重命名 Windows Phone OS 7.1 项目,以将其与将要在同一解决方案中创建的 Windows Phone 8 项目进行区分。例如,您可以将 MultiVersionApp 重命名为 MultiVersionApp71

  2. 在文件资源管理器中,在同一解决方案文件夹内创建项目副本。

  3. 在文件资源管理器中,将新项目的文件夹和项目文件重命名为 MultiVersionApp80

  4. 在 Visual Studio 解决方案资源管理器中右击解决方案。从上下文菜单中选择“添加”,然后选择“现有项目”

  5. “添加现有项目”对话框中,导航至新项目 MultiVersionApp80。选择该项目并单击“打开”

    该项目随即添加到解决方案中。

  6. 在解决方案资源管理器中,右击 MultiVersionApp80 项目,选择“升级到 Windows Phone 8.0”

    项目升级。现在该解决方案包含面向 Windows Phone OS 7.1 的应用的副本和面向 Windows Phone 8 的应用的副本。下一步为共享代码。

  7. 在解决方案资源管理器的 Windows Phone 8 项目中,删除您希望在项目间共享的文件。例如,可以共享 XAML 页面及其代码隐藏文件。当图像的分辨率适合两个版本时,也许还能共享 JPG 和 PNG 图形。

  8. 在 Windows Phone 8 项目中,删除指向要在项目之间共享的 Windows Phone OS 7.1 项目中的文件的链接。可以使用两种不同的方法添加文件作为链接:

    • 在 Windows Phone 8 项目中,对于您想要链接的每个文件,右键单击项目,然后选择“添加”。选择“现有项”。在“添加现有项”对话框中选择文件。单击“添加”按钮旁边的箭头以选择“添加为链接”。通过这种方法,您可以一次链接多个文件。

      - 或 -

    • 在 Windows Phone OS 7.1 项目中,选择要链接的文件。按住 Alt 键,并将文件拖入 Windows Phone 8 项目。鼠标指针将发生更改以指示将添加该链接。释放鼠标左按钮。通过这种方法,您一次只能链接一个文件。

    向项目添加指向文件的连接,并使用图标指示该文件已链接,如下所示:

    Solution Explorer with linked source code files
  9. 通过在项目设计器的“生成”页面使用 #define 指令定义条件编译符号。例如,在 Windows Phone 8 项目中定义 WP8

  10. 在共享代码文件中使用条件编译指令(例如 #if WP8 … #endif)以隔离使用在 Windows Phone 8 中引进的新功能的代码部分。

  11. 使用适用于相应 Windows Phone 版本的模拟器和设备测试和调试每个项目。

来自MSDN
原文地址:https://www.cnblogs.com/qq278360339/p/2832762.html