导出 (0) 打印
全部展开
信息
您所需的主题如下所示。但此主题未包含在此库中。

使用“添加为链接”共享代码

2014/6/18

适用于: Windows Phone 8 和 Windows Phone Silverlight 8.1 | Windows 8

 

本主题介绍如何使用 Visual Studio 中提供的“添加为链接”在多个项目间共享代码,以及在生成要在 Windows Phone 8 和 Windows 8 上运行的应用时如何利用此方法。

本主题包括以下部分。

 

在 Visual Studio 中您可以在多个项目中使用相同的文件,而无需将文件复制到每个项目。例如,在下面的关系图中,两个项目共享相同的类,SharedClass.cs。

Alignment_Concept_ShareGeneric

您可以使用此简单而又强大的代码共享策略以创建文件或代码资产一次,然后在多个项目间共享。 除了被链接到项目外,该文件与项目中其他文件相同。 编辑文件时,更改被应用到所有链接到该文件的项目。

当您生成要在 Windows Phone 8 和 Windows 8 上运行的应用时,可以使用此代码共享方法。依据您正在创建的应用的类型,您将有机会通过此方法在项目间共享代码。当您尝试共享不是可移植的代码时,即无法在可移植类库中共享的代码,此方法特别有用。Windows 运行时 API 不是可移植的并且无法在可移植类库中使用。但是,Windows Phone 8 和 Windows 8 共享 Windows 运行时 API 的子集,您可能会尝试编写此 API 一次,然后在两个应用间共享此逻辑。有关通用于 Windows Phone 和 Windows 8 通用的 Windows 运行时 API,请参见 Windows Phone 运行时 API。下面的关系图演示如何通过将文件链接到多个项目来共享代码。

Alignment_Concept_ShareWin8WP8

在此示例中,我们拥有一个 Windows Phone 8 项目和一个 Windows 8 项目。SharedClass.cs 类包含不可移植的但使用通用于 Windows Phone 8 和 Windows 8 的 API 编写的代码。通过将它作为链接添加到每个项目来共享此类。通过执行此操作,我们可以编写代码一次,然后多次使用它。我们已将常见的不可移植的代码抽取到共享的类中,并且每个应用项目包含特定于该应用的代码和功能。

通常,您可以将此方法用于任何您可以隔离(平台独立的)的和可以在两个应用中使用的代码。此类共享的较好替代项包括但不限于以下方案。

  • 应用逻辑通用于这两个应用,但是不可移植。在 Windows Phone 8 和 Windows 8 中,可以使用 Windows 运行时 API 编写大多数的基础结构代码或与操作系统或外部数据源交互的代码。由于 Windows Phone 8 已采用了 Windows 运行时 的子集,可以编写使用此功能的代码一次,然后在应用间共享此代码。例如,两个平台拥有相同的用于网络、传感器、位置、应用内购买和邻近感应的 Windows 运行时 API。这些 API 在两个平台上有着大量的重叠。此代码无法放置在可移植类库中,因为它不可以移植。.NET Framework 可移植库不支持 Windows 运行时。但是,您可以将这些 API 的使用隔离到应用中的类,并作为链接的代码文件在 Windows Phone 8 和 Windows 应用商店 应用之间共享。如果您正在使用免费的 Visual Studio Express,您无法创建可移植类库。在这种情况下,您应该使用此代码共享方法来共享您的应用逻辑。例如,使用模型视图查看模型 (MVVM) 模式生成的应用可以共享应用的模型和视图模型。

  • 不具有平台依赖项的用户控件。 Windows Phone 8 和 Windows 8 都允许您使用 XAML 创建丰富的用户体验。它们采用不同的方式实现此层,并且在不同的命名空间中定义了 API。但是,这种差异是可以克服的。事实上,在平台间许多功能、类型和成员的名称相同并且行为也相同。 尽管首要的准则是为每个平台尽可能地生成最佳的用户体验,但是在某些情况下,您可以提取出通用于两个平台的 UI 的元素,编写它一次,然后在两个应用间共享。无法对 XAML 进行条件编译,因此在共享的用户控件中定义的 UI 必须是平台独立的。您可以在用户控件的代码隐藏类中使用条件编译,因此此操作提供一些灵活性。

这是编写代码一次然后在项目间共享的简单方法。有关处理代码中平台差异的信息,请参见处理 Windows Phone 8 和 Windows 8 平台差异

从 Visual Studio 中的项目链接到文件。

  1. 在解决方案资源管理器中,右键单击您的项目,然后选择“添加现有项”,或者您可以键入 Shift+Alt+A。

  2. “添加现有项”对话框中,选择要添加的文件,然后在“添加”下拉列表中,单击“添加为链接”

    Alignment_Screenshot_AddAsLinkDialog
  3. 文件将作为链接文件添加到您的项目,这意味着它没有实际复制到项目,而只是链接到项目而已。 链接文件的图标与实际添加到项目的文件的图标不同。

    • 共享 Alignment_Screenshot_SharedClassIcon

    • 不共享 Alignment_Screenshot_NotSharedClassIcon

您可以遵循此步骤将多个文件链接到项目。如果您在尝试将文件添加为链接时,不小心将文件添加到了项目,请确保从项目中和磁盘上项目的文件夹中删除此文件,然后再重新尝试将文件添加为链接。

显示:
© 2014 Microsoft