TargetDeviceFamily (Windows 10)

标识程序包面向的设备系列。 有关设备系列的详细信息,请参阅使用扩展 SDK 进行编程

元素层次结构

<包>

    <依赖>

         <TargetDeviceFamily>

语法

<TargetDeviceFamily
    Name = 'An alphanumeric string that can contain period and dash characters.'
    MinVersion = 'A version string in quad notation ("Major.Minor.Build.Revision"), where Major cannot be 0.'
    MaxVersionTested = 'A version string in quad notation ("Major.Minor.Build.Revision"), where Major cannot be 0.' />

特性和元素

属性

特性 说明 数据类型 必须 默认值
Name 应用面向的设备系列的名称。 有关受支持的设备系列名称的详细信息,请参阅 示例 部分。 可以包含句点和短划线字符的字母数字字符串。
MinVersion 你的应用面向的设备系列的最低版本。 用于在部署时适用性。 如果系统的设备系列版本低于 MinVersion,则认为该应用不适用。 四边形表示法中的版本字符串 (Major.Minor.Build.Revision) ,其中 Major 不能为 0
MaxVersionTested 你的应用所针对的设备系列的最高版本,你已针对它进行测试。 这在运行时用于确定怪癖的有效进程空间。 四边形表示法中的版本字符串 (Major.Minor.Build.Revision) ,其中 Major 不能为 0

子元素

无。

父元素

父元素 描述
依赖项 声明包所依赖的其他包来完成其软件。

示例

若要将称为“通用设备系列”的 API 集 (这意味着应用在) 的所有设备上运行,只需指定一个设备系列,如以下示例所示。 当你的应用在特定设备系列中的设备上运行时,你仍然可以编写自适应代码来照亮通用设备系列之外的 API。 当然,版本 10.0.x.0 和 10.0.y.0 可以是相同的值。

<Dependencies>
    <TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.x.0" MaxVersionTested="10.0.y.0"/>
</Dependencies>

注意

如果以“Windows.Universal”为目标,同时将“MinVersion”和“MaxVersionTested”设置为版本 10.0.0.0,则应用将分别使用项目文件的目标最低版本和目标版本中指定的版本。 如果使用“Windows.Universal”,并将“MinVersion”和“MaxVersionTested”设置为 10.0.0.0 以外的值,则应用将面向指定的“MinVersion”和“MaxVersionTested”,而不是项目文件中指定的值。

所有子设备系列“派生”自 (即,它们包括) “通用设备系列”API 集。 因此,子设备系列意味着“通用以及其他特定于子设备家庭的 API”。 面向子设备系列时,无需提及通用设备。 在下一个示例中,应用面向称为“移动设备系列”的 API 集,因此,它仅在实现移动设备系列 API 集的设备上运行, (移动设备) 。 例如,如果要面向其他设备系列,请将“Mobile”替换为“Desktop”、“Xbox”、“Holographic”、“IoT”或“IoTHeadless”。

<Dependencies>
    <TargetDeviceFamily Name="Windows.Mobile" MinVersion="10.0.x.0" MaxVersionTested="10.0.y.0"/>
</Dependencies>

注意

如果应用面向“Windows.Universal”以外的设备系列,则必须为目标设备系列正确指定“MinVersion”和“MaxVersionTested”。

若要面向 Xbox 设备系列,请将 Name 属性设置为“Windows.Xbox”。 请注意,若要面向 Xbox 设备系列,MinVersion 必须至少设置为 10.0.14393.0。

<Dependencies>
    <TargetDeviceFamily Name="Windows.Xbox" MinVersion="10.0.x.0" MaxVersionTested="10.0.y.0"/>
</Dependencies>

如果你的应用专为 HoloLens 创建,并且在其他平台上不受支持,请指定目标设备系列“Windows.Holographic”。

<Dependencies>
    <TargetDeviceFamily Name="Windows.Holographic" MinVersion="10.0.x.0" MaxVersionTested="10.0.y.0"/>
</Dependencies>

如果应用以 Windows 10 协同版 Edition 为目标,请将 Name 属性设置为“Windows.Team”。 这通常用于Microsoft Surface Hub设备。

<Dependencies>
    <TargetDeviceFamily Name="Windows.Team" MinVersion="10.0.x.0" MaxVersionTested="10.0.y.0"/>
</Dependencies>

如果要面向 IoT 核心版平台,请将 Name 属性设置为“Windows.IoT”。 对于无外设 IoT 应用,请使用“Windows.IoTHeadless”。

<Dependencies>
    <TargetDeviceFamily Name="Windows.IoT" MinVersion="10.0.x.0" MaxVersionTested="10.0.y.0"/>
</Dependencies>

注意

目前,面向 IoT 或 IoTHeadless 的应用在应用商店中无效,应仅用于开发目的。

在此示例中,应用面向移动设备和桌面设备系列。 因此,应用可以在移动设备或桌面设备上运行,但不能在其他设备上运行。 请注意,应用必须使用自适应代码调用不在通用设备系列 API 集中的任何 API (,除非 API 恰好由两个设备系列) 共享。

<Dependencies>
    <TargetDeviceFamily Name="Windows.Mobile" MinVersion="10.0.x.0" MaxVersionTested="10.0.y.0"/>
    <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.x.0" MaxVersionTested="10.0.y.0"/>
</Dependencies>

在此最后一个示例中,应用面向通用设备系列 (因此,默认情况下,它在具有指定最低版本) 的所有设备上运行。 例外情况是,对于实现移动设备系列的设备,应用要求至少存在版本 10.0.m.0。 这是你指示你不支持早于指定最低版本的子设备系列版本的方式,即使这不同于你对通用设备系列案例) (通用设备系列支持的版本。 另请注意示例中移动设备系列依赖项的 MaxVersionTested 值。 其中 z > n,应用将在移动设备的版本 10.0.z.0 上运行,但它将在该版本上的平台上遇到 10.0.n.0 版本行为。

<Dependencies>
    <TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.x.0" MaxVersionTested="10.0.y.0"/>
    <TargetDeviceFamily Name="Windows.Mobile" MinVersion="10.0.m.0" MaxVersionTested="10.0.n.0"/>
</Dependencies>

备注

包只能访问操作系统 (操作系统) 行为 <TargetDeviceFamily [...] MaxVersionTested="version">。 因此,如果包的值MaxVersionTested高于目标计算机上的 OS 版本,则可能存在包理解的 OS 行为,但目标 OS 不会向包提供该行为。 如果目标 OS 升级 (更接近或匹配 MaxVersionTested) ,则包可能理解的 OS 行为变为可用,但以前不可用。 因此,OS 会重新处理包,以 点亮 任何此类行为。

部署使此 点亮 方案发生的过程称为 重新编制索引

要求

要求
命名空间 http://schemas.microsoft.com/appx/manifest/foundation/windows10