次の方法で共有


MSB8037診断コード

この記事では、MSB8037エラー コードについて説明します。

メッセージ テキスト

MSB8037: The Windows SDK version *sdk-version* for Desktop C++ *platform* Apps was not found. Install the required version of Windows SDK or change the SDK version in the project property pages or by right-clicking the solution and selecting "Retarget solution".

説明

このエラーは、使用できない Windows SDK バージョンがプロジェクトで指定されている場合に発生します。

このエラーの一般的な原因は次のとおりです。

  • 指定された Windows SDK バージョンがインストールされていないか、見つかりません。
  • プロジェクトを移植しましたが、ターゲットの Windows SDK バージョンを更新しませんでした。
  • Windows SDK パスが正しくないか、別のマシンのカスタム SDK パスからコピーされます。

解決策

次のセクションでは、構成に基づいてMSB8036エラーを解決するためのオプションについて説明します。

特定の SDK バージョンをインストールする

特定のバージョンの Windows SDK をインストールするには、Visual Studio インストーラーを使用します。 詳細については、「 Visual Studio の変更」を参照してください。 インストーラーで、[ 個々のコンポーネント ] タブを使用して、特定の Windows SDK を選択します。

ソリューションのターゲット SDK を指定する

ソリューションのターゲット Windows SDK を指定するには、次の手順に従います。

  1. ソリューション エクスプローラーで (プロジェクトではなく) ソリューションを右クリックし、[ソリューションの再ターゲット] を選択します。

  2. [ ソリューション アクションの確認] ダイアログで、 Windows SDK の [バージョン ] ドロップダウン リストを展開し、特定の Windows SDK を選択します。

    複数のバージョンがインストールされている場合は、常に最新の SDK バージョンを使用するように Visual Studio に指示する 10.0 (インストールされている最新バージョン) を選択できます。

プロジェクトのターゲット SDK を指定する

プロジェクトのターゲット Windows SDK を指定するには、次の手順に従います。

  1. ソリューション エクスプローラーで、プロジェクト ノードを右クリックし、[プロパティ] (Alt+Enter) を選択します。

  2. プロジェクトの [プロパティ ページ] ダイアログで 、[ 構成プロパティ>General プロパティ ページを選択します。

  3. Windows SDK バージョンまたはターゲット プラットフォーム バージョン プロパティの値を変更します。

    値のドロップダウン リストには、Visual Studio によって検出された特定のバージョンが表示されます。 値 10.0 (インストールされている最新バージョン) は、複数のバージョンがインストール されている場合は常に最新の SDK バージョンを使用するように Visual Studio に指示します。

  4. [OK] を選択して変更を保存します。

Windows SDK のディレクトリ パスを変更する

SDK パスが正しい場所に設定されていることを確認するには、次の手順に従います。

  1. ソリューション エクスプローラーで、プロジェクト ノードを右クリックし、[プロパティ] (Alt+Enter) を選択します。

  2. プロジェクトの [プロパティ ページ] ダイアログで 、[ 構成プロパティ>VC++ ディレクトリ ] プロパティ ページを選択します。

  3. [インクルード ディレクトリ] プロパティと [ライブラリ ディレクトリ] プロパティの値を確認します。 カスタム パスを探し、必要に応じて修正します。

    • 選択した Windows SDK の Include ディレクトリの既定値は、 $(WindowsSDK_IncludePath) マクロで指定されます。
    • Library ディレクトリの既定値は、$(WindowsSDK_LibraryPath_<platform>) マクロで指定されます。ここで、<platform>はターゲット アーキテクチャを表します。

対象

MSBuild のすべてのバージョン