Edit

Share via


MSB4236 diagnostic code

This article describes the MSB4236 error code.

Message text

MSB4236: The SDK 'value' specified could not be found.

Description

This error occurs when an MSBuild project SDK can't load. An MSBuild project SDK is a packaged set of imported files that sets up common build configuration for a build of a certain kind. For example, for .NET builds, the .NET SDK is used. For more information, see How to use MSBuild project SDKs.

Resolution

Look in the project file's top-level Project element (MSBuild) and identify the SDK in use. Examples include the .NET SDK (Microsoft.NET.Sdk) and the ASP.NET SDK (Microsoft.NET.Sdk.Web). MSBuild project SDKs can be delivered NuGet packages.

<Project Sdk="Microsoft.NET.Sdk.Web">

The .NET SDK usually loads, unless the global.json file points to an SDK that isn't installed. Check for the version specified in the version property of the sdk object in the global.json file:

{
  "sdk": {
    "version": "2.2.200"
  }
}

The NuGet SDK resolver can fail due to a network error or incorrect NuGet feed. Check the top-level element in the project file to see if an SDK version is specified, and make sure that specific version is installed. You can specify the version in the project file by using the following syntax:

<Project Sdk="My.Custom.Sdk/1.0.0" />

MSBuild project SDK versions can also be specified in the global.json file.

Applies to

All versions of MSBuild