{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://json.schemastore.org/global.json","additionalProperties":true,"properties":{"sdk":{"type":"object","description":"Specifies information about the .NET SDK to select.\nhttps://learn.microsoft.com/dotnet/core/tools/global-json#sdk","properties":{"version":{"type":"string","pattern":"^(?<major>0|[1-9]\\d*)\\.(?<minor>0|[1-9]\\d*)\\.(?<patch>0|[1-9]\\d*)(?:-(?<prerelease>(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+(?<buildmetadata>[0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$","description":"The version of the .NET SDK to use. A full version number is required; wildcards and version ranges aren't supported.\nhttps://learn.microsoft.com/dotnet/core/tools/global-json#version"},"allowPrerelease":{"type":"boolean","description":"Whether the SDK resolver should consider prerelease versions when selecting the SDK version to use.\nhttps://learn.microsoft.com/dotnet/core/tools/global-json#allowprerelease"},"rollForward":{"type":"string","enum":["patch","feature","minor","major","latestPatch","latestFeature","latestMinor","latestMajor","disable"],"description":"The roll-forward policy to use when selecting an SDK version. A version must also be specified unless this is set to 'latestMajor'. When omitted, the effective policy is 'patch' if a version is specified and 'latestMajor' otherwise.\nhttps://learn.microsoft.com/dotnet/core/tools/global-json#rollforward"},"paths":{"type":"array","description":"The locations to consider when searching for a compatible .NET SDK. Paths can be absolute, relative to global.json, or the special value '$host$'. Available since .NET 10 SDK.\nhttps://learn.microsoft.com/dotnet/core/tools/global-json#paths","items":{"type":"string"}},"errorMessage":{"type":"string","description":"A custom error message to display when the SDK resolver can't find a compatible .NET SDK. Available since .NET 10 SDK.\nhttps://learn.microsoft.com/dotnet/core/tools/global-json#errormessage"}},"dependencies":{"rollForward":{"anyOf":[{"properties":{"version":{}},"required":["version"]},{"properties":{"rollForward":{"enum":["latestMajor"]}}}]}}},"msbuild-sdks":{"type":"object","description":"Controls project SDK versions in one place rather than in each individual project. Each property name is a project SDK name and its value is the version to use.\nhttps://learn.microsoft.com/dotnet/core/tools/global-json#msbuild-sdks","additionalProperties":{"type":"string"}},"test":{"type":"object","description":"Specifies information about tests.\nhttps://learn.microsoft.com/dotnet/core/tools/global-json#test","properties":{"runner":{"type":"string","enum":["Microsoft.Testing.Platform","VSTest"],"default":"VSTest","description":"The test runner that the 'dotnet test' command uses to discover and run tests. Available since .NET 10 SDK.\nhttps://learn.microsoft.com/dotnet/core/tools/global-json#runner"}}}},"title":"JSON schema for the .NET global configuration file","type":"object"}