Visual Studio Windows 10 IoT Extensions 拡張機能のバージョン管理:VS_IOT_EXTENSIONS_VERSION徹底解説


"VS_IOT_EXTENSIONS_VERSION" は、CMake の "Properties: Targets" におけるターゲット プロパティであり、Visual Studio Windows 10 IoT Extensions における拡張機能のバージョンを指定します。このプロパティを設定することで、ターゲットに組み込む拡張機能のバージョンを制御できます。

構文

set_target_properties(target_name PROPERTIES VS_IOT_EXTENSIONS_VERSION version)
  • version: 拡張機能のバージョン。例: "10.0.10240.0"
  • target_name: 対象となるターゲットの名前
  • 同じバージョンの拡張機能を使用するには、CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION 変数を設定できます。
  • 拡張機能のバージョンを指定しない場合、拡張機能は組み込まれません。
  • このプロパティは CMake 3.4 以降でのみ使用可能です。

set(target_name myapp)

set_target_properties(myapp PROPERTIES VS_IOT_EXTENSIONS_VERSION "10.0.10240.0")

この例では、"myapp" という名前のターゲットに "10.0.10240.0" バージョンの拡張機能が組み込まれます。



サンプル 1: 特定バージョンの拡張機能を組み込む

set(target_name myapp)

set_target_properties(myapp PROPERTIES VS_IOT_EXTENSIONS_VERSION "10.0.10240.0")

add_executable(myapp main.cpp)

この例では、"myapp" という名前のターゲットに "10.0.10240.0" バージョンの拡張機能が組み込まれます。そして、"main.cpp" ファイルを使用して実行ファイルを作成します。

サンプル 2: 複数の拡張機能を組み込む

set(target_name myapp)

set_target_properties(myapp PROPERTIES VS_IOT_EXTENSIONS_VERSION "10.0.10240.0;1.2.3.4")

add_executable(myapp main.cpp)

この例では、"myapp" という名前のターゲットに "10.0.10240.0" バージョンと "1.2.3.4" バージョンの拡張機能が組み込まれます。";" を使用して複数のバージョンを指定できます。

set(target_name myapp)

set(CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION "10.0.10240.0")

set_target_properties(myapp PROPERTIES VS_IOT_EXTENSIONS_VERSION "")

add_executable(myapp main.cpp)

この例では、"CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION" 変数を使用して、ターゲットに組み込む拡張機能のバージョンを "10.0.10240.0" に設定します。そして、"VS_IOT_EXTENSIONS_VERSION" プロパティは空文字列に設定することで、拡張機能のバージョンを明示的に指定しません。

  • 拡張機能のバージョンは、プロジェクトの要件に応じて適切な値を設定してください。


  • 複数の拡張機能を組み込む場合、";" で区切る必要がある
  • 拡張機能のバージョンを明示的に指定する必要がある
  • CMake 3.4 以降でのみ使用可能

これらの制限を回避するために、以下の代替方法を検討することができます。

拡張機能の依存関係を指定する

Visual Studio Windows 10 IoT Extensions では、拡張機能の依存関係を指定することで、必要な拡張機能を自動的に組み込むことができます。この方法は、"VS_IOT_EXTENSIONS_VERSION" プロパティよりも柔軟性が高く、拡張機能のバージョンを明示的に指定する必要がありません。

target_link_libraries(myapp VS_IOT_EXTENSIONS_Dependencies)

この例では、"myapp" という名前のターゲットに必要な拡張機能が自動的に組み込まれます。

手動で拡張機能を組み込む

拡張機能を手動で組み込む場合は、target_link_libraries() 関数を使用して、拡張機能のライブラリをターゲットにリンクすることができます。この方法は、"VS_IOT_EXTENSIONS_VERSION" プロパティよりも詳細な制御が可能ですが、個々の拡張機能のライブラリを指定する必要があるため、煩雑になる場合があります。

target_link_libraries(myapp VS_IOT_EXTENSIONS_MyExtension)

この例では、"VS_IOT_EXTENSIONS_MyExtension" という名前の拡張機能のライブラリが "myapp" という名前のターゲットにリンクされます。

サードパーティのツールを使用する

いくつかのサードパーティ製ツールは、Visual Studio Windows 10 IoT Extensions における拡張機能の管理を支援することができます。これらのツールは、"VS_IOT_EXTENSIONS_VERSION" プロパティよりも使いやすいインターフェースを提供し、拡張機能のバージョン管理や依存関係の解決などを自動化できます。

"VS_IOT_EXTENSIONS_VERSION" プロパティは、Visual Studio Windows 10 IoT Extensions における拡張機能のバージョンを指定するためのシンプルな方法ですが、いくつかの制限があります。上記の代替方法は、これらの制限を回避し、拡張機能の管理をより柔軟かつ効率的に行うことができます。