Поделиться через


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

Элементы и атрибуты

Атрибуты

Атрибут Описание Тип данных Обязательно Значение по умолчанию
имя; Имя семейства устройств, на которое нацелено ваше приложение. Дополнительные сведения о поддерживаемых именах семейств устройств см. в разделе Примеры. Буквенно-цифровая строка, которая может содержать символы точки и дефиса. Да
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 задана версия 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. Для безголового приложения Интернета вещей используйте "Windows.IoTHeadless".

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

Примечание

В настоящее время приложения, предназначенные для Интернета вещей или 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выше , чем версия ОС на целевом компьютере, то потенциально существует поведение ОС, понятное пакету, но недоступное для пакета целевой ОС. Если целевая ОС обновляется (ближе к или соответствует MaxVersionTested), то потенциальное поведение ОС, понятное пакетом, становится доступным, которое было недоступно ранее. Следовательно, ОС повторно обрабатывает пакет, чтобы засветить любое такое поведение.

Процесс, с помощью которого развертывание создает этот сценарий освещения , называется переиндексированием.

Требования

Требование Значение
Пространство имен http://schemas.microsoft.com/appx/manifest/foundation/windows10