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