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.' />

屬性和元素

屬性

屬性 描述 資料類型 必要 預設值
名稱 應用程式的目標裝置系列名稱。 See the Examples section for more information about the supported device family names. 可以包含句號和虛線字元的英數位元。
MinVersion 您的應用程式目標裝置系列的最低版本。 用於部署時間的適用性。 如果系統的裝置系列版本低於 MinVersion,則不會將應用程式視為適用。 四元標記法中的版本字串 (Major.Minor.Build.Revision) ,其中 Major 不能是 0
MaxVersionTested 您的應用程式的目標裝置系列版本上限,就是您已針對它進行測試。 這會在執行時間用來判斷 quirks 的有效進程空間。 四元標記法中的版本字串 (Major.Minor.Build.Revision) ,其中 Major 不能是 0 Yes

子元素

無。

父元素

父元素 描述
Dependencies (相依性) 宣告套件相依的其他套件,以完成其軟體。

範例

若要以稱為「通用裝置系列」的 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>

注意

如果您以 「MinVersion」 和 「MaxVersionTested」 同時設定為 10.0.0.0 版的 「Windows.Universal」 為目標,您的應用程式將會分別使用專案檔的目標最小版本和目標版本中指定的版本。 如果您使用 「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 為目標的應用程式在 App Store 中無效,而且只應用於開發用途。

在此範例中,應用程式會以行動裝置和桌面裝置系列為目標。 因此,應用程式可以在行動裝置或桌面裝置上執行,但不能執行其他裝置。 請注意,除非兩個裝置系列) 都共用 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