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 より低い場合、アプリは適用できないと見なされます。 | quad 表記 () のバージョン文字列。Major.Minor.Build.Revision ここで Major 、 を に 0 することはできません。 |
はい | |
MaxVersionTested | テスト対象のアプリが対象とするデバイス ファミリの最大バージョン。 これは実行時に、風変わりな場合の効果的なプロセス空間を決定するために使用されます。 | quad 表記 () のバージョン文字列。Major.Minor.Build.Revision ここで Major 、 を に 0 することはできません。 |
はい |
子要素
なし。
親要素
親要素 | 説明 |
---|---|
依存関係 | パッケージがソフトウェアを完了するために依存する他のパッケージを宣言します。 |
例
"ユニバーサル デバイス ファミリ" と呼ばれる一連の API (アプリがすべてのデバイスで実行されることを意味します) を対象にするには、次の例のように、1 つのデバイス ファミリを指定するだけです。 アプリが特定のデバイス ファミリのデバイスで実行されている場合でも、ユニバーサル デバイス ファミリの外部で 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" を対象とする場合、アプリでは、プロジェクト ファイルのターゲット最小バージョンとターゲット バージョンで指定されたバージョンがそれぞれ使用されます。 "MinVersion" と "MaxVersionTested" を 10.0.0.0 以外の値に設定して "Windows.Universal" を使用している場合、アプリはプロジェクト ファイルで指定された値ではなく、指定された "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 Team Edition のみを対象とする場合は、Name 属性を "Windows.Team" に設定します。 これは、Microsoft Surface Hubデバイスでよく使用されます。
<Dependencies>
<TargetDeviceFamily Name="Windows.Team" MinVersion="10.0.x.0" MaxVersionTested="10.0.y.0"/>
</Dependencies>
IoT Core プラットフォームをターゲットにする場合は、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>
Remarks
パッケージは、 までしかオペレーティング システム (OS) の動作に <TargetDeviceFamily [...] MaxVersionTested="version">
アクセスできます。 そのため、パッケージの MaxVersionTested
値がターゲット コンピューター上の OS のバージョンよりも 高い 場合は、パッケージによって認識される OS 動作が存在する可能性がありますが、ターゲット OS ではパッケージで使用できません。 ターゲット OS のアップグレード (より近い、または一致する) の場合、 MaxVersionTested
パッケージによって認識される OS の動作が、以前は使用できなかった使用可能になる可能性があります。 その結果、OS はパッケージを再処理して、そのような動作を 明るく します。
Deployment によってこの ライトアップ シナリオが発生するプロセスは、 ReIndexing と呼ばれます。
必要条件
要件 | 値 |
---|---|
名前空間 | http://schemas.microsoft.com/appx/manifest/foundation/windows10 |