diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 1b319dbab9..859325e201 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -3,9 +3,9 @@
-
+
https://github.com/dotnet/arcade
- 26b005488dd7ddf6356873cb01a7b763a82a9622
+ e9b75e1cd4e63570624006a6d5bdb48b5b40b513
diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1
index bc8b66e294..ce280eb95b 100644
--- a/eng/common/tools.ps1
+++ b/eng/common/tools.ps1
@@ -439,11 +439,26 @@ function LocateVisualStudio([object]$vsRequirements = $null){
if (!(Test-Path $vsWhereExe)) {
Create-Directory $vsWhereDir
Write-Host 'Downloading vswhere'
- try {
- Invoke-WebRequest "https://netcorenativeassets.blob.core.windows.net/resource-packages/external/windows/vswhere/$vswhereVersion/vswhere.exe" -OutFile $vswhereExe
- }
- catch {
- Write-PipelineTelemetryError -Category 'InitializeToolset' -Message $_
+ $maxRetries = 5
+ $retries = 1
+
+ while($true) {
+ try {
+ Invoke-WebRequest "https://netcorenativeassets.blob.core.windows.net/resource-packages/external/windows/vswhere/$vswhereVersion/vswhere.exe" -OutFile $vswhereExe
+ break
+ }
+ catch{
+ Write-PipelineTelemetryError -Category 'InitializeToolset' -Message $_
+ }
+
+ if (++$retries -le $maxRetries) {
+ $delayInSeconds = [math]::Pow(2, $retries) - 1 # Exponential backoff
+ Write-Host "Retrying. Waiting for $delayInSeconds seconds before next attempt ($retries of $maxRetries)."
+ Start-Sleep -Seconds $delayInSeconds
+ }
+ else {
+ Write-PipelineTelemetryError -Category 'InitializeToolset' -Message "Unable to download file in $maxRetries attempts."
+ }
}
}
diff --git a/global.json b/global.json
index 4ec71f4139..5de2af48a6 100644
--- a/global.json
+++ b/global.json
@@ -17,6 +17,6 @@
"xcopy-msbuild": "16.8.0-preview2.1"
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.20616.18"
+ "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.20618.3"
}
}