diff --git a/eng/Version.Details.props b/eng/Version.Details.props
index 8198264a4a0..c4c5cabdb3a 100644
--- a/eng/Version.Details.props
+++ b/eng/Version.Details.props
@@ -8,10 +8,10 @@ This file should be imported by eng/Versions.props
10.0.0-beta.26301.2
- 18.8.0-preview-26275-09
- 18.8.0-preview-26275-09
- 18.8.0-preview-26275-09
- 18.8.0-preview-26275-09
+ 18.9.0-preview-26302-08
+ 18.9.0-preview-26302-08
+ 18.9.0-preview-26302-08
+ 18.9.0-preview-26302-08
1.0.0-prerelease.26276.2
1.0.0-prerelease.26276.2
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 78884c3639f..456ca205af7 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -2,21 +2,21 @@
-
+
https://github.com/dotnet/msbuild
- 4ea8215937724cd480a29c30187195b5cbda7486
+ de9a0e9765117fc68117bb002f58066eedaee3d4
-
+
https://github.com/dotnet/msbuild
- 4ea8215937724cd480a29c30187195b5cbda7486
+ de9a0e9765117fc68117bb002f58066eedaee3d4
-
+
https://github.com/dotnet/msbuild
- 4ea8215937724cd480a29c30187195b5cbda7486
+ de9a0e9765117fc68117bb002f58066eedaee3d4
-
+
https://github.com/dotnet/msbuild
- 4ea8215937724cd480a29c30187195b5cbda7486
+ de9a0e9765117fc68117bb002f58066eedaee3d4
https://github.com/dotnet/roslyn
diff --git a/eng/templates/regression-test-jobs.yml b/eng/templates/regression-test-jobs.yml
index 9b50f376fe9..16da81059c2 100644
--- a/eng/templates/regression-test-jobs.yml
+++ b/eng/templates/regression-test-jobs.yml
@@ -115,6 +115,25 @@ jobs:
version: '9.0.x'
installationPath: $(Pipeline.Workspace)/TestRepo/.dotnet
+ - pwsh: |
+ # Clean leftover SDK extraction directories in agent temp to prevent
+ # UseDotNet@2 "file already exists" errors when installing multiple SDKs sequentially.
+ # The task extracts to a temp folder before moving to installationPath, but doesn't
+ # always clean up between runs on the same agent.
+ $tempDir = $env:AGENT_TEMPDIRECTORY
+ if ($tempDir -and (Test-Path $tempDir)) {
+ Get-ChildItem $tempDir -Directory -ErrorAction SilentlyContinue |
+ Where-Object {
+ (Test-Path (Join-Path $_.FullName "dotnet.exe")) -and
+ ((Test-Path (Join-Path $_.FullName "sdk")) -or (Test-Path (Join-Path $_.FullName "host")) -or (Test-Path (Join-Path $_.FullName "shared")))
+ } |
+ ForEach-Object {
+ Write-Host "Removing leftover dotnet extraction dir: $($_.FullName)"
+ Remove-Item $_.FullName -Recurse -Force -ErrorAction Stop
+ }
+ }
+ displayName: Clean UseDotNet temp extraction directories for ${{ item.displayName }}
+
- task: UseDotNet@2
displayName: Install .NET SDK 10.0.100 for ${{ item.displayName }}
inputs: