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 における拡張機能のバージョンを指定するためのシンプルな方法ですが、いくつかの制限があります。上記の代替方法は、これらの制限を回避し、拡張機能の管理をより柔軟かつ効率的に行うことができます。