From 5473cbd1bc0878969b627c28b1f4ef80d4d977a7 Mon Sep 17 00:00:00 2001 From: Sean McManus Date: Mon, 6 Apr 2026 17:40:17 -0700 Subject: [PATCH 1/6] Fix npx @vscode/vsce. --- Build/cg/cg.yml | 2 +- Build/package/jobs_package_vsix.yml | 4 ++-- Build/publish/jobs_publish_vsix.yml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Build/cg/cg.yml b/Build/cg/cg.yml index 7f1b47176..a21fd5269 100644 --- a/Build/cg/cg.yml +++ b/Build/cg/cg.yml @@ -109,6 +109,6 @@ extends: - script: | cd $(Build.SourcesDirectory)\Extension - npx @vscode/vsce@3.7.1 package --yarn -o $(Build.ArtifactStagingDirectory)\Extension\cpptools.vsix + npx --ignore-scripts=false @vscode/vsce@3.7.1 package --yarn -o $(Build.ArtifactStagingDirectory)\Extension\cpptools.vsix name: ProcessRunner_12 displayName: Run VSCE to package vsix diff --git a/Build/package/jobs_package_vsix.yml b/Build/package/jobs_package_vsix.yml index 95d65b430..c7d0b5f98 100644 --- a/Build/package/jobs_package_vsix.yml +++ b/Build/package/jobs_package_vsix.yml @@ -61,11 +61,11 @@ jobs: - script: | cd $(Build.SourcesDirectory)\${{ parameters.srcDir }} - npx @vscode/vsce@3.7.1 package -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.vsix + npx --ignore-scripts=false @vscode/vsce@3.7.1 package -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.vsix displayName: Run VSCE to package vsix # sign the vsix - - script: npx @vscode/vsce@3.7.1 generate-manifest -i $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.vsix -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.manifest + - script: npx --ignore-scripts=false @vscode/vsce@3.7.1 generate-manifest -i $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.vsix -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.manifest displayName: generate manifest workingDirectory: $(Build.SourcesDirectory)\${{ parameters.srcDir }} - script: copy $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.manifest $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.signature.p7s diff --git a/Build/publish/jobs_publish_vsix.yml b/Build/publish/jobs_publish_vsix.yml index 9cab81201..64d65585d 100644 --- a/Build/publish/jobs_publish_vsix.yml +++ b/Build/publish/jobs_publish_vsix.yml @@ -32,7 +32,7 @@ jobs: Write-Host "##vso[task.setvariable variable=AAD_TOKEN;issecret=true]$aadToken" - script: | - npx @vscode/vsce@3.7.1 publish --skip-duplicate -i $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.vsix --manifestPath $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.manifest --signaturePath $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.signature.p7s + npx --ignore-scripts=false @vscode/vsce@3.7.1 publish --skip-duplicate -i $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.vsix --manifestPath $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.manifest --signaturePath $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.signature.p7s displayName: Publish to Marketplace env: VSCE_PAT: $(AAD_TOKEN) From c5adb205b2f33e1a97d68e0148c7157591b119e6 Mon Sep 17 00:00:00 2001 From: Sean McManus Date: Mon, 6 Apr 2026 18:54:22 -0700 Subject: [PATCH 2/6] Try npm install instead. --- Build/cg/cg.yml | 3 ++- Build/package/jobs_package_vsix.yml | 7 +++++-- Build/publish/jobs_publish_vsix.yml | 3 ++- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/Build/cg/cg.yml b/Build/cg/cg.yml index a21fd5269..6c81e0c68 100644 --- a/Build/cg/cg.yml +++ b/Build/cg/cg.yml @@ -109,6 +109,7 @@ extends: - script: | cd $(Build.SourcesDirectory)\Extension - npx --ignore-scripts=false @vscode/vsce@3.7.1 package --yarn -o $(Build.ArtifactStagingDirectory)\Extension\cpptools.vsix + npm install --ignore-scripts=false @vscode/vsce@3.7.1 + npx @vscode/vsce@3.7.1 package --yarn -o $(Build.ArtifactStagingDirectory)\Extension\cpptools.vsix name: ProcessRunner_12 displayName: Run VSCE to package vsix diff --git a/Build/package/jobs_package_vsix.yml b/Build/package/jobs_package_vsix.yml index c7d0b5f98..7746f45a7 100644 --- a/Build/package/jobs_package_vsix.yml +++ b/Build/package/jobs_package_vsix.yml @@ -61,11 +61,14 @@ jobs: - script: | cd $(Build.SourcesDirectory)\${{ parameters.srcDir }} - npx --ignore-scripts=false @vscode/vsce@3.7.1 package -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.vsix + npm install --ignore-scripts=false @vscode/vsce@3.7.1 + npx @vscode/vsce@3.7.1 package -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.vsix displayName: Run VSCE to package vsix # sign the vsix - - script: npx --ignore-scripts=false @vscode/vsce@3.7.1 generate-manifest -i $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.vsix -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.manifest + - script: | + npm install --ignore-scripts=false @vscode/vsce@3.7.1 + npx @vscode/vsce@3.7.1 generate-manifest -i $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.vsix -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.manifest displayName: generate manifest workingDirectory: $(Build.SourcesDirectory)\${{ parameters.srcDir }} - script: copy $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.manifest $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.signature.p7s diff --git a/Build/publish/jobs_publish_vsix.yml b/Build/publish/jobs_publish_vsix.yml index 64d65585d..d8d45a359 100644 --- a/Build/publish/jobs_publish_vsix.yml +++ b/Build/publish/jobs_publish_vsix.yml @@ -32,7 +32,8 @@ jobs: Write-Host "##vso[task.setvariable variable=AAD_TOKEN;issecret=true]$aadToken" - script: | - npx --ignore-scripts=false @vscode/vsce@3.7.1 publish --skip-duplicate -i $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.vsix --manifestPath $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.manifest --signaturePath $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.signature.p7s + npm install --ignore-scripts=false @vscode/vsce@3.7.1 + npx @vscode/vsce@3.7.1 publish --skip-duplicate -i $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.vsix --manifestPath $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.manifest --signaturePath $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.signature.p7s displayName: Publish to Marketplace env: VSCE_PAT: $(AAD_TOKEN) From 649fcd961e10673bf8fba4cbc691a29681a72d0d Mon Sep 17 00:00:00 2001 From: Sean McManus Date: Tue, 7 Apr 2026 10:02:18 -0700 Subject: [PATCH 3/6] Another fix attempt. --- Build/cg/cg.yml | 11 ++++++----- Build/package/jobs_package_vsix.yml | 14 +++++++------- Build/publish/jobs_publish_vsix.yml | 7 ++++--- 3 files changed, 17 insertions(+), 15 deletions(-) diff --git a/Build/cg/cg.yml b/Build/cg/cg.yml index 6c81e0c68..105302cae 100644 --- a/Build/cg/cg.yml +++ b/Build/cg/cg.yml @@ -107,9 +107,10 @@ extends: fi retryCountOnTaskFailure: 3 - - script: | - cd $(Build.SourcesDirectory)\Extension - npm install --ignore-scripts=false @vscode/vsce@3.7.1 - npx @vscode/vsce@3.7.1 package --yarn -o $(Build.ArtifactStagingDirectory)\Extension\cpptools.vsix - name: ProcessRunner_12 + - script: npm install --ignore-scripts=false @vscode/vsce@3.7.1 + displayName: Install vsce + workingDirectory: $(Build.SourcesDirectory)\Extension + + - script: npx @vscode/vsce@3.7.1 package --yarn -o $(Build.ArtifactStagingDirectory)\Extension\cpptools.vsix displayName: Run VSCE to package vsix + workingDirectory: $(Build.SourcesDirectory)\Extension diff --git a/Build/package/jobs_package_vsix.yml b/Build/package/jobs_package_vsix.yml index 7746f45a7..a27878fc4 100644 --- a/Build/package/jobs_package_vsix.yml +++ b/Build/package/jobs_package_vsix.yml @@ -59,16 +59,16 @@ jobs: - script: mkdir $(Build.ArtifactStagingDirectory)\vsix displayName: Create Staging Directory - - script: | - cd $(Build.SourcesDirectory)\${{ parameters.srcDir }} - npm install --ignore-scripts=false @vscode/vsce@3.7.1 - npx @vscode/vsce@3.7.1 package -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.vsix + - script: npm install --ignore-scripts=false @vscode/vsce@3.7.1 + displayName: Install vsce + workingDirectory: $(Build.SourcesDirectory)\${{ parameters.srcDir }} + + - script: npx @vscode/vsce@3.7.1 package -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.vsix displayName: Run VSCE to package vsix + workingDirectory: $(Build.SourcesDirectory)\${{ parameters.srcDir }} # sign the vsix - - script: | - npm install --ignore-scripts=false @vscode/vsce@3.7.1 - npx @vscode/vsce@3.7.1 generate-manifest -i $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.vsix -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.manifest + - script: npx @vscode/vsce@3.7.1 generate-manifest -i $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.vsix -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.manifest displayName: generate manifest workingDirectory: $(Build.SourcesDirectory)\${{ parameters.srcDir }} - script: copy $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.manifest $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.signature.p7s diff --git a/Build/publish/jobs_publish_vsix.yml b/Build/publish/jobs_publish_vsix.yml index d8d45a359..f43cea693 100644 --- a/Build/publish/jobs_publish_vsix.yml +++ b/Build/publish/jobs_publish_vsix.yml @@ -31,9 +31,10 @@ jobs: $aadToken = az account get-access-token --query accessToken --resource $(AzureGuid) -o tsv Write-Host "##vso[task.setvariable variable=AAD_TOKEN;issecret=true]$aadToken" - - script: | - npm install --ignore-scripts=false @vscode/vsce@3.7.1 - npx @vscode/vsce@3.7.1 publish --skip-duplicate -i $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.vsix --manifestPath $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.manifest --signaturePath $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.signature.p7s + - script: npm install --ignore-scripts=false @vscode/vsce@3.7.1 + displayName: Install vsce + + - script: npx @vscode/vsce@3.7.1 publish --skip-duplicate -i $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.vsix --manifestPath $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.manifest --signaturePath $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.signature.p7s displayName: Publish to Marketplace env: VSCE_PAT: $(AAD_TOKEN) From 7ce9a4e6b0f17c11169bdc9fa7d130be1bf5a14b Mon Sep 17 00:00:00 2001 From: Sean McManus Date: Tue, 7 Apr 2026 10:19:41 -0700 Subject: [PATCH 4/6] Another fix. --- Build/cg/cg.yml | 4 ++-- Build/package/jobs_package_vsix.yml | 6 +++--- Build/publish/jobs_publish_vsix.yml | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Build/cg/cg.yml b/Build/cg/cg.yml index 105302cae..713b97cf6 100644 --- a/Build/cg/cg.yml +++ b/Build/cg/cg.yml @@ -107,10 +107,10 @@ extends: fi retryCountOnTaskFailure: 3 - - script: npm install --ignore-scripts=false @vscode/vsce@3.7.1 + - script: npm install --no-save --ignore-scripts=false @vscode/vsce@3.7.1 displayName: Install vsce workingDirectory: $(Build.SourcesDirectory)\Extension - - script: npx @vscode/vsce@3.7.1 package --yarn -o $(Build.ArtifactStagingDirectory)\Extension\cpptools.vsix + - script: npx vsce package --yarn -o $(Build.ArtifactStagingDirectory)\Extension\cpptools.vsix displayName: Run VSCE to package vsix workingDirectory: $(Build.SourcesDirectory)\Extension diff --git a/Build/package/jobs_package_vsix.yml b/Build/package/jobs_package_vsix.yml index a27878fc4..f6e1ce9dc 100644 --- a/Build/package/jobs_package_vsix.yml +++ b/Build/package/jobs_package_vsix.yml @@ -59,16 +59,16 @@ jobs: - script: mkdir $(Build.ArtifactStagingDirectory)\vsix displayName: Create Staging Directory - - script: npm install --ignore-scripts=false @vscode/vsce@3.7.1 + - script: npm install --no-save --ignore-scripts=false @vscode/vsce@3.7.1 displayName: Install vsce workingDirectory: $(Build.SourcesDirectory)\${{ parameters.srcDir }} - - script: npx @vscode/vsce@3.7.1 package -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.vsix + - script: npx vsce package -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.vsix displayName: Run VSCE to package vsix workingDirectory: $(Build.SourcesDirectory)\${{ parameters.srcDir }} # sign the vsix - - script: npx @vscode/vsce@3.7.1 generate-manifest -i $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.vsix -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.manifest + - script: npx vsce generate-manifest -i $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.vsix -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.manifest displayName: generate manifest workingDirectory: $(Build.SourcesDirectory)\${{ parameters.srcDir }} - script: copy $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.manifest $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.signature.p7s diff --git a/Build/publish/jobs_publish_vsix.yml b/Build/publish/jobs_publish_vsix.yml index f43cea693..c76684a65 100644 --- a/Build/publish/jobs_publish_vsix.yml +++ b/Build/publish/jobs_publish_vsix.yml @@ -31,10 +31,10 @@ jobs: $aadToken = az account get-access-token --query accessToken --resource $(AzureGuid) -o tsv Write-Host "##vso[task.setvariable variable=AAD_TOKEN;issecret=true]$aadToken" - - script: npm install --ignore-scripts=false @vscode/vsce@3.7.1 + - script: npm install --no-save --ignore-scripts=false @vscode/vsce@3.7.1 displayName: Install vsce - - script: npx @vscode/vsce@3.7.1 publish --skip-duplicate -i $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.vsix --manifestPath $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.manifest --signaturePath $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.signature.p7s + - script: npx vsce publish --skip-duplicate -i $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.vsix --manifestPath $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.manifest --signaturePath $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.signature.p7s displayName: Publish to Marketplace env: VSCE_PAT: $(AAD_TOKEN) From 05ca332ebc6e7b51d843b828381ba2dc5c5cc3d4 Mon Sep 17 00:00:00 2001 From: Sean McManus Date: Tue, 7 Apr 2026 10:37:29 -0700 Subject: [PATCH 5/6] Try another fix. --- Build/cg/cg.yml | 2 +- Build/package/jobs_package_vsix.yml | 2 +- Build/publish/jobs_publish_vsix.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Build/cg/cg.yml b/Build/cg/cg.yml index 713b97cf6..c0e856d13 100644 --- a/Build/cg/cg.yml +++ b/Build/cg/cg.yml @@ -107,7 +107,7 @@ extends: fi retryCountOnTaskFailure: 3 - - script: npm install --no-save --ignore-scripts=false @vscode/vsce@3.7.1 + - script: npm install --no-save --ignore-scripts=false --include=optional @vscode/vsce@3.7.1 displayName: Install vsce workingDirectory: $(Build.SourcesDirectory)\Extension diff --git a/Build/package/jobs_package_vsix.yml b/Build/package/jobs_package_vsix.yml index f6e1ce9dc..733f649bd 100644 --- a/Build/package/jobs_package_vsix.yml +++ b/Build/package/jobs_package_vsix.yml @@ -59,7 +59,7 @@ jobs: - script: mkdir $(Build.ArtifactStagingDirectory)\vsix displayName: Create Staging Directory - - script: npm install --no-save --ignore-scripts=false @vscode/vsce@3.7.1 + - script: npm install --no-save --ignore-scripts=false --include=optional @vscode/vsce@3.7.1 displayName: Install vsce workingDirectory: $(Build.SourcesDirectory)\${{ parameters.srcDir }} diff --git a/Build/publish/jobs_publish_vsix.yml b/Build/publish/jobs_publish_vsix.yml index c76684a65..151495177 100644 --- a/Build/publish/jobs_publish_vsix.yml +++ b/Build/publish/jobs_publish_vsix.yml @@ -31,7 +31,7 @@ jobs: $aadToken = az account get-access-token --query accessToken --resource $(AzureGuid) -o tsv Write-Host "##vso[task.setvariable variable=AAD_TOKEN;issecret=true]$aadToken" - - script: npm install --no-save --ignore-scripts=false @vscode/vsce@3.7.1 + - script: npm install --no-save --ignore-scripts=false --include=optional @vscode/vsce@3.7.1 displayName: Install vsce - script: npx vsce publish --skip-duplicate -i $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.vsix --manifestPath $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.manifest --signaturePath $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.signature.p7s From 934fb237e74e8073140b5a5143c6bb7537634db6 Mon Sep 17 00:00:00 2001 From: Sean McManus Date: Tue, 7 Apr 2026 12:10:37 -0700 Subject: [PATCH 6/6] Try another fix. --- Build/cg/cg.yml | 10 +++++++++- Build/package/jobs_package_vsix.yml | 10 +++++++++- Build/publish/jobs_publish_vsix.yml | 8 +++++++- 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/Build/cg/cg.yml b/Build/cg/cg.yml index c0e856d13..dc4dd0c49 100644 --- a/Build/cg/cg.yml +++ b/Build/cg/cg.yml @@ -107,10 +107,18 @@ extends: fi retryCountOnTaskFailure: 3 - - script: npm install --no-save --ignore-scripts=false --include=optional @vscode/vsce@3.7.1 + - script: npm install --no-save --ignore-scripts=false --include=optional --force @vscode/vsce@3.7.1 displayName: Install vsce workingDirectory: $(Build.SourcesDirectory)\Extension + - script: npm rebuild @vscode/vsce-sign --ignore-scripts=false + displayName: Rebuild vsce-sign binary + workingDirectory: $(Build.SourcesDirectory)\Extension + + - script: if not exist node_modules\@vscode\vsce-sign\bin\vsce-sign.exe (echo Missing vsce-sign.exe && exit 1) + displayName: Verify vsce-sign binary exists + workingDirectory: $(Build.SourcesDirectory)\Extension + - script: npx vsce package --yarn -o $(Build.ArtifactStagingDirectory)\Extension\cpptools.vsix displayName: Run VSCE to package vsix workingDirectory: $(Build.SourcesDirectory)\Extension diff --git a/Build/package/jobs_package_vsix.yml b/Build/package/jobs_package_vsix.yml index 733f649bd..b5a73b174 100644 --- a/Build/package/jobs_package_vsix.yml +++ b/Build/package/jobs_package_vsix.yml @@ -59,10 +59,18 @@ jobs: - script: mkdir $(Build.ArtifactStagingDirectory)\vsix displayName: Create Staging Directory - - script: npm install --no-save --ignore-scripts=false --include=optional @vscode/vsce@3.7.1 + - script: npm install --no-save --ignore-scripts=false --include=optional --force @vscode/vsce@3.7.1 displayName: Install vsce workingDirectory: $(Build.SourcesDirectory)\${{ parameters.srcDir }} + - script: npm rebuild @vscode/vsce-sign --ignore-scripts=false + displayName: Rebuild vsce-sign binary + workingDirectory: $(Build.SourcesDirectory)\${{ parameters.srcDir }} + + - script: if not exist node_modules\@vscode\vsce-sign\bin\vsce-sign.exe (echo Missing vsce-sign.exe && exit 1) + displayName: Verify vsce-sign binary exists + workingDirectory: $(Build.SourcesDirectory)\${{ parameters.srcDir }} + - script: npx vsce package -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.vsix displayName: Run VSCE to package vsix workingDirectory: $(Build.SourcesDirectory)\${{ parameters.srcDir }} diff --git a/Build/publish/jobs_publish_vsix.yml b/Build/publish/jobs_publish_vsix.yml index 151495177..9decb93f8 100644 --- a/Build/publish/jobs_publish_vsix.yml +++ b/Build/publish/jobs_publish_vsix.yml @@ -31,9 +31,15 @@ jobs: $aadToken = az account get-access-token --query accessToken --resource $(AzureGuid) -o tsv Write-Host "##vso[task.setvariable variable=AAD_TOKEN;issecret=true]$aadToken" - - script: npm install --no-save --ignore-scripts=false --include=optional @vscode/vsce@3.7.1 + - script: npm install --no-save --ignore-scripts=false --include=optional --force @vscode/vsce@3.7.1 displayName: Install vsce + - script: npm rebuild @vscode/vsce-sign --ignore-scripts=false + displayName: Rebuild vsce-sign binary + + - script: if not exist node_modules\@vscode\vsce-sign\bin\vsce-sign.exe (echo Missing vsce-sign.exe && exit 1) + displayName: Verify vsce-sign binary exists + - script: npx vsce publish --skip-duplicate -i $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.vsix --manifestPath $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.manifest --signaturePath $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.signature.p7s displayName: Publish to Marketplace env: