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".

DESCRIPTION

当项目指定不可用的 Windows SDK 版本时,会发生此错误。

此错误的常见原因包括:

  • 指定的 Windows SDK 版本未安装或找不到。
  • 你移植了一个项目,但未更新目标 Windows SDK 版本。
  • Windows SDK 路径不正确,或者从其他计算机的自定义 SDK 路径复制。

决议

以下部分介绍根据配置解决MSB8036错误的选项。

安装特定 SDK 版本

若要安装特定版本的 Windows SDK,请使用 Visual Studio Installer。 有关详细信息,请参阅 修改 Visual Studio。 在安装程序中,使用 “单个组件 ”选项卡选择特定的 Windows SDK。

指定解决方案的目标 SDK

若要为解决方案指定目标 Windows SDK,请执行以下步骤:

  1. 解决方案资源管理器中,右键单击解决方案(而不是项目),然后选择 “重定目标”解决方案

  2. 在“查看解决方案操作”对话框中,展开Windows SDK 版本下拉列表,并选择一个具体的 Windows SDK。

    可以选择 10.0(最新版本), 以指示 Visual Studio 始终使用最新的 SDK 版本(如果安装了多个版本)。

指定项目的目标 SDK

若要为项目指定目标 Windows SDK,请执行以下步骤:

  1. 解决方案资源管理器中,右键单击项目节点,然后选择“ 属性 ”(Alt+Enter)。

  2. 在项目的“属性页”对话框中,选择“配置属性”>“常规”属性页。

  3. 修改 Windows SDK 版本目标平台版本 属性的值。

    值的下拉列表显示 Visual Studio 检测到的特定版本。 如果安装了多个版本,则值 10.0(最新版本) 指示 Visual Studio 始终使用最新的 SDK 版本。

  4. 选择“确定”,保存所做更改。

更改 Windows SDK 的目录路径

若要验证 SDK 路径是否设置为正确的位置,请执行以下步骤:

  1. 解决方案资源管理器中,右键单击项目节点,然后选择“ 属性 ”(Alt+Enter)。

  2. 在项目的 “属性页 ”对话框中,选择 “配置属性>VC++ 目录 ”属性页。

  3. 检查 “包含目录 ”和 “库目录” 属性的值。 根据需要查找自定义路径并更正。

    • 所选 Windows SDK 的 Include 目录的默认值由 $(WindowsSDK_IncludePath) 宏指定。
    • 目录的默认值使用$(WindowsSDK_LibraryPath_<platform>)宏指定,其中<platform>表示目标体系结构。

适用于

MSBuild 的所有版本