Validate global.json SDK version before rollForward optimization (#742)

This commit is contained in:
Priya Gupta
2026-06-16 22:56:42 +05:30
committed by GitHub
parent 9a946fdbd5
commit 95a3f8b067
4 changed files with 20 additions and 5 deletions

View File

@@ -207,7 +207,16 @@ function getVersionFromGlobalJson(globalJsonPath: string): string {
if (globalJson.sdk && globalJson.sdk.version) {
version = globalJson.sdk.version;
const rollForward = globalJson.sdk.rollForward;
if (rollForward) {
if (rollForward && !semver.prerelease(version)) {
const versionPattern = /^\d+\.\d+\.[1-9]\d{2,}$/;
if (!versionPattern.test(version)) {
throw new Error(
`Version '${version}' is not valid for the 'sdk.version' value in global.json. ` +
`When 'rollForward' is specified, a full SDK version is required. ` +
`See: https://learn.microsoft.com/en-us/dotnet/core/tools/global-json`
);
}
const [major, minor, featurePatch] = version.split('.');
const feature = featurePatch.substring(0, 1);