From b4fb56ba401d89eae39bc23225caaeb095e1c657 Mon Sep 17 00:00:00 2001 From: Joey Robichaud Date: Wed, 14 Jan 2026 14:10:34 -0800 Subject: [PATCH 1/7] Update required node version to v22 and required dotnet to 10.0 --- .github/workflows/branch-snap.yml | 8 +++--- .github/workflows/copilot-setup-steps.yml | 6 ++--- .github/workflows/update-changelog.yml | 2 +- CONTRIBUTING.md | 4 +-- azure-pipelines/build-vsix.yml | 6 ++--- azure-pipelines/green-insertion.yml | 2 +- azure-pipelines/install-node.yml | 4 +-- azure-pipelines/loc.yml | 7 +++--- msbuild/global.json | 4 +-- package-lock.json | 30 +++++++++++------------ package.json | 2 +- tasks/createTagsTasks.ts | 2 +- 12 files changed, 38 insertions(+), 39 deletions(-) diff --git a/.github/workflows/branch-snap.yml b/.github/workflows/branch-snap.yml index 53ecc9b91f..41a55d0ba7 100644 --- a/.github/workflows/branch-snap.yml +++ b/.github/workflows/branch-snap.yml @@ -28,8 +28,8 @@ jobs: - name: Install NodeJS uses: actions/setup-node@v4 with: - node-version: '18.x' - - name: Install dependencies + node-version: '22.x' + - name: Install dependencies run: npm ci - name: Update version.json run: | @@ -59,8 +59,8 @@ jobs: - name: Install NodeJS uses: actions/setup-node@v4 with: - node-version: '18.x' - - name: Install dependencies + node-version: '22.x' + - name: Install dependencies run: npm ci - name: Update version.json for release run: npx gulp updateVersionForStableRelease diff --git a/.github/workflows/copilot-setup-steps.yml b/.github/workflows/copilot-setup-steps.yml index 546d9036ac..670845e46c 100644 --- a/.github/workflows/copilot-setup-steps.yml +++ b/.github/workflows/copilot-setup-steps.yml @@ -28,13 +28,13 @@ jobs: # Install Node.js (required for TypeScript compilation and npm packages) - uses: actions/setup-node@v4 with: - node-version: '20' + node-version: '22' cache: 'npm' # Install .NET SDK (required for some build components and MSBuild tasks) - uses: actions/setup-dotnet@v4 with: - dotnet-version: '8.0.x' + dotnet-version: '10.0.x' # Install npm dependencies - name: Install dependencies @@ -52,4 +52,4 @@ jobs: - name: Install dependencies run: gulp installDependencies - + diff --git a/.github/workflows/update-changelog.yml b/.github/workflows/update-changelog.yml index 8f3bc05360..90e34bcf6a 100644 --- a/.github/workflows/update-changelog.yml +++ b/.github/workflows/update-changelog.yml @@ -22,7 +22,7 @@ jobs: - name: Install NodeJS uses: actions/setup-node@v4 with: - node-version: '20.x' + node-version: '22.x' - name: Install dependencies run: npm ci - name: Update CHANGELOG diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a6cd528c00..c8d0c4d81f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -23,10 +23,10 @@ Setting up your local development environment for the vscode-csharp repository i Before you start, make sure you have the following software installed on your machine: -* Node.js v20 ([v20.17.0 LTS](https://nodejs.org/en/blog/release/v20.17.0)). +* Node.js v22 ([22.17.0 LTS](https://nodejs.org/en/blog/release/v22.17.0)). * Note - Building with higher major versions of Node.js is not advised - it may work but we do not test it. * Npm (The version shipped with node is fine) -* .NET 8.0 SDK (dotnet should be on your path) +* .NET 10.0 SDK (dotnet should be on your path) Once you have these installed, you can navigate to the cloned vscode-csharp repository to proceed with building, running, and testing the repository. diff --git a/azure-pipelines/build-vsix.yml b/azure-pipelines/build-vsix.yml index 89b0468956..f612c6a58c 100644 --- a/azure-pipelines/build-vsix.yml +++ b/azure-pipelines/build-vsix.yml @@ -133,11 +133,11 @@ stages: inputs: versionSpec: 3.11 - # Non-windows signing requires .NET 8 installed on the machine. + # Non-windows signing requires .NET 10 installed on the machine. - task: UseDotNet@2 - displayName: Use .NET Core sdk 8.0.x + displayName: Use .NET Core sdk 10.0.x inputs: - version: 8.0.x + version: 10.0.x # If we're in an official build, install the signing plugin - ${{ if eq(parameters.isOfficial, true) }}: diff --git a/azure-pipelines/green-insertion.yml b/azure-pipelines/green-insertion.yml index e07723e7e5..af45c8e694 100644 --- a/azure-pipelines/green-insertion.yml +++ b/azure-pipelines/green-insertion.yml @@ -35,7 +35,7 @@ jobs: displayName: ⚙️ Install Node.js inputs: versionSource: spec - versionSpec: 16.x + versionSpec: 22.x - powershell: | "registry=https://pkgs.dev.azure.com/devdiv/DevDiv/_packaging/vs-green/npm/registry/`nalways-auth=true`n" | Tee-Object -FilePath '$(Pipeline.Workspace)/.npmrc' displayName: ⚙️ Prepare for publish diff --git a/azure-pipelines/install-node.yml b/azure-pipelines/install-node.yml index 72aaac84b8..afee0dde63 100644 --- a/azure-pipelines/install-node.yml +++ b/azure-pipelines/install-node.yml @@ -1,5 +1,5 @@ steps: - task: NodeTool@0 - displayName: 'Install Node.js 20.x' + displayName: 'Install Node.js 22.x' inputs: - versionSpec: '20.x' \ No newline at end of file + versionSpec: '22.x' diff --git a/azure-pipelines/loc.yml b/azure-pipelines/loc.yml index 438e3b5ac0..e5c5db7b68 100644 --- a/azure-pipelines/loc.yml +++ b/azure-pipelines/loc.yml @@ -59,16 +59,15 @@ extends: artifactName: l10n steps: - task: NodeTool@0 - displayName: 'Install Node.js 18.x' + displayName: 'Install Node.js 22.x' inputs: - # Octokit client needs 18.x to have 'fetch' function. - versionSpec: '18.x' + versionSpec: '22.x' - checkout: self clean: true submodules: true fetchTags: false fetchDepth: 0 - - pwsh: | + - pwsh: | npm install npm install -g gulp --globalconfig $(Build.SourcesDirectory)/.npmrc displayName: 'Install tools' diff --git a/msbuild/global.json b/msbuild/global.json index bcb55ab5eb..d88274b947 100644 --- a/msbuild/global.json +++ b/msbuild/global.json @@ -1,9 +1,9 @@ { "sdk": { - "version": "8.0.415", + "version": "10.0.101", "rollForward": "latestMajor" }, "msbuild-sdks": { "Microsoft.Build.NoTargets": "3.7.0" } -} \ No newline at end of file +} diff --git a/package-lock.json b/package-lock.json index 4e05f460d9..75aafea675 100644 --- a/package-lock.json +++ b/package-lock.json @@ -41,7 +41,7 @@ "@types/fs-extra": "11.0.4", "@types/gulp": "4.0.5", "@types/minimist": "1.2.1", - "@types/node": "20.14.8", + "@types/node": "22.17.2", "@types/semver": "7.3.13", "@types/tmp": "0.0.33", "@types/uuid": "^9.0.1", @@ -3579,13 +3579,13 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.14.8", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/node/-/node-20.14.8.tgz", - "integrity": "sha1-RcJqKl3ibDU0qVBFMN2zsnzgMaw=", + "version": "22.17.2", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/node/-/node-22.17.2.tgz", + "integrity": "sha1-R6k9b0t5Mn2mOvcn58VOjKuMTTM=", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~5.26.4" + "undici-types": "~6.21.0" } }, "node_modules/@types/normalize-package-data": { @@ -13625,9 +13625,9 @@ } }, "node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha1-vNU5iT0AtW6WT9JlekhmsiGmVhc=", + "version": "6.21.0", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha1-aR0ArzkJvpOn+qE75hs6W1DvEss=", "dev": true, "license": "MIT" }, @@ -16972,12 +16972,12 @@ "dev": true }, "@types/node": { - "version": "20.14.8", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/node/-/node-20.14.8.tgz", - "integrity": "sha1-RcJqKl3ibDU0qVBFMN2zsnzgMaw=", + "version": "22.17.2", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/node/-/node-22.17.2.tgz", + "integrity": "sha1-R6k9b0t5Mn2mOvcn58VOjKuMTTM=", "dev": true, "requires": { - "undici-types": "~5.26.4" + "undici-types": "~6.21.0" } }, "@types/normalize-package-data": { @@ -24270,9 +24270,9 @@ "dev": true }, "undici-types": { - "version": "5.26.5", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha1-vNU5iT0AtW6WT9JlekhmsiGmVhc=", + "version": "6.21.0", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha1-aR0ArzkJvpOn+qE75hs6W1DvEss=", "dev": true }, "unicorn-magic": { diff --git a/package.json b/package.json index 7b3034b3de..606b08fca1 100644 --- a/package.json +++ b/package.json @@ -123,7 +123,7 @@ "@types/fs-extra": "11.0.4", "@types/gulp": "4.0.5", "@types/minimist": "1.2.1", - "@types/node": "20.14.8", + "@types/node": "22.17.2", "@types/semver": "7.3.13", "@types/tmp": "0.0.33", "@types/uuid": "^9.0.1", diff --git a/tasks/createTagsTasks.ts b/tasks/createTagsTasks.ts index b74cd211e9..871618717d 100644 --- a/tasks/createTagsTasks.ts +++ b/tasks/createTagsTasks.ts @@ -65,7 +65,7 @@ gulp.task('createTags:vscode-csharp', async (): Promise => { options, 'dotnet', 'vscode-csharp', - async (releaseCommit: string, githubPAT: string) => releaseCommit, + async (releaseCommit: string, _githubPAT: string) => releaseCommit, (releaseVersion: string, isPrerelease: boolean): [string, string] => { const prereleaseText = isPrerelease ? '-prerelease' : ''; return [`v${releaseVersion}${prereleaseText}`, releaseVersion]; From 5d3dce3253c7bedf7e2a5f61bf878ae12cf6c6f7 Mon Sep 17 00:00:00 2001 From: Joey Robichaud Date: Wed, 14 Jan 2026 16:08:17 -0800 Subject: [PATCH 2/7] Revert dotnet change to vsix signing pipeline --- azure-pipelines/build-vsix.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/azure-pipelines/build-vsix.yml b/azure-pipelines/build-vsix.yml index f612c6a58c..50e99a7eb7 100644 --- a/azure-pipelines/build-vsix.yml +++ b/azure-pipelines/build-vsix.yml @@ -133,12 +133,11 @@ stages: inputs: versionSpec: 3.11 - # Non-windows signing requires .NET 10 installed on the machine. + # Non-windows signing requires .NET 8 installed on the machine. - task: UseDotNet@2 - displayName: Use .NET Core sdk 10.0.x + displayName: Use .NET Core sdk 8.0.x inputs: - version: 10.0.x - + version: 8.0.x # If we're in an official build, install the signing plugin - ${{ if eq(parameters.isOfficial, true) }}: - task: MicroBuildSigningPlugin@4 From f7b508523458b746757b523e5ed4ee650892b55e Mon Sep 17 00:00:00 2001 From: Joey Robichaud Date: Wed, 14 Jan 2026 16:08:27 -0800 Subject: [PATCH 3/7] Update to node 24 --- .github/workflows/branch-snap.yml | 4 ++-- .github/workflows/update-changelog.yml | 2 +- CONTRIBUTING.md | 2 +- azure-pipelines/green-insertion.yml | 6 +----- azure-pipelines/install-node.yml | 4 ++-- azure-pipelines/loc.yml | 5 +---- package-lock.json | 30 +++++++++++++------------- package.json | 2 +- 8 files changed, 24 insertions(+), 31 deletions(-) diff --git a/.github/workflows/branch-snap.yml b/.github/workflows/branch-snap.yml index 41a55d0ba7..17640ea2f2 100644 --- a/.github/workflows/branch-snap.yml +++ b/.github/workflows/branch-snap.yml @@ -28,7 +28,7 @@ jobs: - name: Install NodeJS uses: actions/setup-node@v4 with: - node-version: '22.x' + node-version: '24.x' - name: Install dependencies run: npm ci - name: Update version.json @@ -59,7 +59,7 @@ jobs: - name: Install NodeJS uses: actions/setup-node@v4 with: - node-version: '22.x' + node-version: '24.x' - name: Install dependencies run: npm ci - name: Update version.json for release diff --git a/.github/workflows/update-changelog.yml b/.github/workflows/update-changelog.yml index 90e34bcf6a..1628a2041e 100644 --- a/.github/workflows/update-changelog.yml +++ b/.github/workflows/update-changelog.yml @@ -22,7 +22,7 @@ jobs: - name: Install NodeJS uses: actions/setup-node@v4 with: - node-version: '22.x' + node-version: '24.x' - name: Install dependencies run: npm ci - name: Update CHANGELOG diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c8d0c4d81f..54fd0dc0c3 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -23,7 +23,7 @@ Setting up your local development environment for the vscode-csharp repository i Before you start, make sure you have the following software installed on your machine: -* Node.js v22 ([22.17.0 LTS](https://nodejs.org/en/blog/release/v22.17.0)). +* Node.js v24 ([24.13.0 LTS](https://nodejs.org/en/blog/release/v24.13.0)). * Note - Building with higher major versions of Node.js is not advised - it may work but we do not test it. * Npm (The version shipped with node is fine) * .NET 10.0 SDK (dotnet should be on your path) diff --git a/azure-pipelines/green-insertion.yml b/azure-pipelines/green-insertion.yml index af45c8e694..5a139584d6 100644 --- a/azure-pipelines/green-insertion.yml +++ b/azure-pipelines/green-insertion.yml @@ -31,11 +31,7 @@ jobs: vmImage: ubuntu-latest steps: - checkout: none - - task: NodeTool@0 - displayName: ⚙️ Install Node.js - inputs: - versionSource: spec - versionSpec: 22.x + - template: /azure-pipelines/install-node.yml@self - powershell: | "registry=https://pkgs.dev.azure.com/devdiv/DevDiv/_packaging/vs-green/npm/registry/`nalways-auth=true`n" | Tee-Object -FilePath '$(Pipeline.Workspace)/.npmrc' displayName: ⚙️ Prepare for publish diff --git a/azure-pipelines/install-node.yml b/azure-pipelines/install-node.yml index afee0dde63..8e3a9529ba 100644 --- a/azure-pipelines/install-node.yml +++ b/azure-pipelines/install-node.yml @@ -1,5 +1,5 @@ steps: - task: NodeTool@0 - displayName: 'Install Node.js 22.x' + displayName: 'Install Node.js 24.x' inputs: - versionSpec: '22.x' + versionSpec: '24.x' diff --git a/azure-pipelines/loc.yml b/azure-pipelines/loc.yml index e5c5db7b68..d12735f869 100644 --- a/azure-pipelines/loc.yml +++ b/azure-pipelines/loc.yml @@ -58,10 +58,7 @@ extends: condition: ${{ parameters.publishLocalizationFile }} artifactName: l10n steps: - - task: NodeTool@0 - displayName: 'Install Node.js 22.x' - inputs: - versionSpec: '22.x' + - template: /azure-pipelines/install-node.yml@self - checkout: self clean: true submodules: true diff --git a/package-lock.json b/package-lock.json index 75aafea675..7241576c93 100644 --- a/package-lock.json +++ b/package-lock.json @@ -41,7 +41,7 @@ "@types/fs-extra": "11.0.4", "@types/gulp": "4.0.5", "@types/minimist": "1.2.1", - "@types/node": "22.17.2", + "@types/node": "24.10.8", "@types/semver": "7.3.13", "@types/tmp": "0.0.33", "@types/uuid": "^9.0.1", @@ -3579,13 +3579,13 @@ "dev": true }, "node_modules/@types/node": { - "version": "22.17.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/node/-/node-22.17.2.tgz", - "integrity": "sha1-R6k9b0t5Mn2mOvcn58VOjKuMTTM=", + "version": "24.10.8", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/node/-/node-24.10.8.tgz", + "integrity": "sha1-m1KdMuflrbdLE9H8m4NhXpoSpwE=", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~6.21.0" + "undici-types": "~7.16.0" } }, "node_modules/@types/normalize-package-data": { @@ -13625,9 +13625,9 @@ } }, "node_modules/undici-types": { - "version": "6.21.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/undici-types/-/undici-types-6.21.0.tgz", - "integrity": "sha1-aR0ArzkJvpOn+qE75hs6W1DvEss=", + "version": "7.16.0", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha1-/8zf82rqSITL/OmnUKBYAiT1ikY=", "dev": true, "license": "MIT" }, @@ -16972,12 +16972,12 @@ "dev": true }, "@types/node": { - "version": "22.17.2", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/node/-/node-22.17.2.tgz", - "integrity": "sha1-R6k9b0t5Mn2mOvcn58VOjKuMTTM=", + "version": "24.10.8", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/@types/node/-/node-24.10.8.tgz", + "integrity": "sha1-m1KdMuflrbdLE9H8m4NhXpoSpwE=", "dev": true, "requires": { - "undici-types": "~6.21.0" + "undici-types": "~7.16.0" } }, "@types/normalize-package-data": { @@ -24270,9 +24270,9 @@ "dev": true }, "undici-types": { - "version": "6.21.0", - "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/undici-types/-/undici-types-6.21.0.tgz", - "integrity": "sha1-aR0ArzkJvpOn+qE75hs6W1DvEss=", + "version": "7.16.0", + "resolved": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public-npm/npm/registry/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha1-/8zf82rqSITL/OmnUKBYAiT1ikY=", "dev": true }, "unicorn-magic": { diff --git a/package.json b/package.json index 606b08fca1..54657c9744 100644 --- a/package.json +++ b/package.json @@ -123,7 +123,7 @@ "@types/fs-extra": "11.0.4", "@types/gulp": "4.0.5", "@types/minimist": "1.2.1", - "@types/node": "22.17.2", + "@types/node": "24.10.8", "@types/semver": "7.3.13", "@types/tmp": "0.0.33", "@types/uuid": "^9.0.1", From 33d4ec49de036775be750af961c081dcc0eb4636 Mon Sep 17 00:00:00 2001 From: Joey Robichaud Date: Wed, 14 Jan 2026 16:11:37 -0800 Subject: [PATCH 4/7] Fix typo --- tasks/snapTasks.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tasks/snapTasks.ts b/tasks/snapTasks.ts index fa7ef62279..8516f974af 100644 --- a/tasks/snapTasks.ts +++ b/tasks/snapTasks.ts @@ -75,7 +75,7 @@ function addChangelogSection(version: string, additionalLines?: string[]): void const headerRegex = /^#+\s+.*$/gm; const matches = []; for (let i = 0; i < changelogLines.length; i++) { - const line = changelogLines.at(i); + const line = changelogLines[i]; const match = headerRegex.exec(line!); if (match) { matches.push({ line: i, text: match[0] }); @@ -201,7 +201,7 @@ const prRegex = /^\*.+\(PR: \[#(\d+)\]\(/; function findNextVersionHeaderLine(changelogLines: string[], startLine: number = 0): [number, string] { const headerRegex = /^#\s(\d+\.\d+)\.(x|\d+)$/; for (let i = startLine; i < changelogLines.length; i++) { - const line = changelogLines.at(i); + const line = changelogLines[i]; const match = headerRegex.exec(line!); if (match) { return [i, match[1]]; @@ -213,7 +213,7 @@ function findNextVersionHeaderLine(changelogLines: string[], startLine: number = function getPrIdsBetweenHeaders(changelogLines: string[], startLine: number, endLine: number): string[] { const prs: string[] = []; for (let i = startLine; i < endLine; i++) { - const line = changelogLines.at(i); + const line = changelogLines[i]; const match = prRegex.exec(line!); if (match) { prs.push(match[1]); From b9e9a06f0dbe9e7012e1ae0b328f18e7d54268ff Mon Sep 17 00:00:00 2001 From: Joey Robichaud Date: Thu, 15 Jan 2026 15:59:00 -0800 Subject: [PATCH 5/7] Use a newer prerelease of devkit in CI --- test/vscodeLauncher.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/vscodeLauncher.ts b/test/vscodeLauncher.ts index a4fdbf3dd6..0f36ed6d95 100644 --- a/test/vscodeLauncher.ts +++ b/test/vscodeLauncher.ts @@ -32,7 +32,7 @@ export async function prepareVSCodeAndExecuteTests( const extensionsToInstall = [ 'ms-dotnettools.vscode-dotnet-runtime@2.3.4', 'ms-dotnettools.csharp', - 'ms-dotnettools.csdevkit@1.16.6', + 'ms-dotnettools.csdevkit@1.92.5', ]; await installExtensions(extensionsToInstall, cli, args); From bb44ec6b364d85e14cdae853f77c622247cda3ed Mon Sep 17 00:00:00 2001 From: Joey Robichaud Date: Thu, 15 Jan 2026 16:03:42 -0800 Subject: [PATCH 6/7] Update another use of node --- .github/workflows/copilot-setup-steps.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/copilot-setup-steps.yml b/.github/workflows/copilot-setup-steps.yml index 670845e46c..17b8a521a7 100644 --- a/.github/workflows/copilot-setup-steps.yml +++ b/.github/workflows/copilot-setup-steps.yml @@ -28,7 +28,7 @@ jobs: # Install Node.js (required for TypeScript compilation and npm packages) - uses: actions/setup-node@v4 with: - node-version: '22' + node-version: '24' cache: 'npm' # Install .NET SDK (required for some build components and MSBuild tasks) From 256441f09efc61d1cdffc2f57a3064f842f9e519 Mon Sep 17 00:00:00 2001 From: Joey Robichaud Date: Wed, 21 Jan 2026 16:34:40 -0800 Subject: [PATCH 7/7] Use .NET Install Tool 3.0.0 in integration tests --- test/vscodeLauncher.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/vscodeLauncher.ts b/test/vscodeLauncher.ts index 0f36ed6d95..13df078588 100644 --- a/test/vscodeLauncher.ts +++ b/test/vscodeLauncher.ts @@ -30,7 +30,7 @@ export async function prepareVSCodeAndExecuteTests( // Rather than having to uninstall Dev Kit between different test runs, we use workspace settings // to control which extensions are active - and we always install Dev Kit. const extensionsToInstall = [ - 'ms-dotnettools.vscode-dotnet-runtime@2.3.4', + 'ms-dotnettools.vscode-dotnet-runtime@3.0.0', 'ms-dotnettools.csharp', 'ms-dotnettools.csdevkit@1.92.5', ];