diff --git a/Documentation/wpf.vsconfig b/Documentation/wpf.vsconfig
index 88b27e71076..138ba06a80e 100644
--- a/Documentation/wpf.vsconfig
+++ b/Documentation/wpf.vsconfig
@@ -15,12 +15,15 @@
"Microsoft.VisualStudio.Component.TextTemplating",
"Microsoft.VisualStudio.Component.VC.ATL",
"Microsoft.VisualStudio.Component.VC.ATLMFC",
+ "Microsoft.VisualStudio.Component.VC.ATL.ARM64",
+ "Microsoft.VisualStudio.Component.VC.14.50.18.0.ATL.ARM64",
"Microsoft.VisualStudio.Component.VC.CLI.Support",
"Microsoft.VisualStudio.Component.VC.CoreIde",
"Microsoft.VisualStudio.Component.VC.Modules.x86.x64",
"Microsoft.VisualStudio.Component.VC.Redist.14.Latest",
"Microsoft.VisualStudio.Component.VC.Tools.x86.x64",
"Microsoft.VisualStudio.Component.VSSDK",
- "Microsoft.VisualStudio.Component.Windows10SDK.19041"
+ "Microsoft.VisualStudio.Component.Windows10SDK.19041",
+ "Microsoft.VisualStudio.Component.Windows11SDK.26100"
]
-}
+}
\ No newline at end of file
diff --git a/azure-pipelines-pr.yml b/azure-pipelines-pr.yml
index a818962d505..7dd92394c8d 100644
--- a/azure-pipelines-pr.yml
+++ b/azure-pipelines-pr.yml
@@ -49,10 +49,10 @@ stages:
# agent pool can't be read from a user-defined variable (Azure DevOps limitation)
${{ if eq(variables['System.TeamProject'], 'public') }}:
name: NetCore-Public
- demands: ImageOverride -equals windows.vs2022.amd64.Open
+ demands: ImageOverride -equals windows.vs2026preview.scout.amd64.Open
${{ if eq(variables['System.TeamProject'], 'internal') }}:
name: NetCore1ESPool-Internal
- demands: ImageOverride -equals windows.vs2022.amd64
+ demands: ImageOverride -equals windows.vs2026preview.scout.amd64
variables:
- name: _Platform
value: x86
@@ -119,6 +119,71 @@ stages:
- powershell: eng\pre-build.ps1
displayName: Pre-Build - Set VSO Variables
+ # Check installed VS components
+ - powershell: |
+ $vsWherePath = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe"
+
+ if (Test-Path $vsWherePath) {
+ Write-Host "Checking installed Visual Studio components..."
+ $vsPath = & "$vsWherePath" -latest -prerelease -property installationPath
+ Write-Host "VS Installation Path: $vsPath"
+
+ Write-Host "`nInstalled components:"
+ & "$vsWherePath" -latest -prerelease -format json | ConvertFrom-Json | ForEach-Object {
+ if ($_.packages) {
+ $_.packages | Where-Object { $_.id -like "*ARM64*" -or $_.id -like "*ATL*" } | ForEach-Object {
+ Write-Host " - $($_.id) (Version: $($_.version))"
+ }
+ }
+ }
+ } else {
+ Write-Warning "vswhere.exe not found at $vsWherePath"
+ }
+ displayName: Check Installed VS Components
+ condition: eq(variables['_Platform'], 'arm64')
+
+ # Install ARM64 ATL components
+ - powershell: |
+ $vsInstallerPath = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vs_installer.exe"
+ $vsInstallPath = "C:\Program Files\Microsoft Visual Studio\18\Insiders"
+
+ if (Test-Path $vsInstallerPath) {
+ Write-Host "##[section]Installing ARM64 ATL components..."
+ Write-Host "VS Installer: $vsInstallerPath"
+ Write-Host "VS Install Path: $vsInstallPath"
+
+ $components = @(
+ "Microsoft.VisualStudio.Component.VC.14.50.18.0.ATL.ARM64"
+ )
+
+ Write-Host "`nComponents to install:"
+ $components | ForEach-Object { Write-Host " - $_" }
+
+ $addArgs = $components | ForEach-Object { "--add", $_ }
+ $allArgs = @("modify", "--installPath", $vsInstallPath) + $addArgs + @("--norestart", "--quiet")
+
+ Write-Host "`nExecuting: vs_installer.exe $($allArgs -join ' ')"
+
+ & "$vsInstallerPath" $allArgs
+
+ $exitCode = $LASTEXITCODE
+ Write-Host "`n##[section]Installation completed with exit code: $exitCode"
+
+ if ($exitCode -eq 0) {
+ Write-Host "##[section]Installation succeeded"
+ } elseif ($exitCode -eq 3010) {
+ Write-Host "##[warning]Installation succeeded but requires restart (exit code 3010)"
+ } else {
+ Write-Host "##[error]Installation failed with exit code $exitCode"
+ exit $exitCode
+ }
+ } else {
+ Write-Host "##[error]VS Installer not found at $vsInstallerPath"
+ exit 1
+ }
+ displayName: Install ARM64 ATL Components
+ condition: eq(variables['_Platform'], 'arm64')
+
- template: /eng/common/templates/steps/enable-internal-sources.yml
- template: /eng/common/templates/steps/enable-internal-runtimes.yml
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index d4de934200d..727d549d4b0 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -50,4 +50,4 @@ extends:
binlogPath: artifacts/log/Debug/x86/Build.binlog
pool:
name: NetCore1ESPool-Internal
- demands: ImageOverride -equals windows.vs2022.amd64
\ No newline at end of file
+ demands: ImageOverride -equals windows.vs2026preview.scout.amd64
\ No newline at end of file
diff --git a/eng/Version.Details.props b/eng/Version.Details.props
index 04abb7f8e6e..d6fb60c845d 100644
--- a/eng/Version.Details.props
+++ b/eng/Version.Details.props
@@ -33,7 +33,7 @@ This file should be imported by eng/Versions.props
10.0.0-rc.3.25574.108
10.0.0-rc.3.25574.108
- 10.0.0-rc.1.25603.4
+ 10.0.0-rc.1.25609.7
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 0d5892f0e2d..3cc6f28a563 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -22,9 +22,9 @@
https://github.com/dotnet/dotnet
d119b40e8ff3b88f87ad60b04c807233a159b197
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-wpf-int
- fe8feea90bc685260d2e3e80d285271f7c44794c
+ 7b194d1da9c86db654df89ab762a07ac714a95ba
https://github.com/dotnet/dotnet
diff --git a/eng/WpfArcadeSdk/tools/Wpf.Cpp.props b/eng/WpfArcadeSdk/tools/Wpf.Cpp.props
index 66c8df51e68..a7307533951 100644
--- a/eng/WpfArcadeSdk/tools/Wpf.Cpp.props
+++ b/eng/WpfArcadeSdk/tools/Wpf.Cpp.props
@@ -4,10 +4,10 @@
Unicode
- v143
+ v145
- 10.0.19041.0
+ 10.0.26100.0
DynamicLibrary
diff --git a/src/Microsoft.DotNet.Wpf/redist/VCRuntime/VCRuntime.vcxproj b/src/Microsoft.DotNet.Wpf/redist/VCRuntime/VCRuntime.vcxproj
index a108a064332..3b6151c314e 100644
--- a/src/Microsoft.DotNet.Wpf/redist/VCRuntime/VCRuntime.vcxproj
+++ b/src/Microsoft.DotNet.Wpf/redist/VCRuntime/VCRuntime.vcxproj
@@ -33,8 +33,8 @@
- Microsoft.VC143.CRT
- Microsoft.VC143.DebugCRT
+ Microsoft.VC145.CRT
+ Microsoft.VC145.DebugCRT