Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions Documentation/wpf.vsconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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"
]
}
}
69 changes: 67 additions & 2 deletions azure-pipelines-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the only preview version available ?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

${{ 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
Expand Down Expand Up @@ -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

Expand Down
2 changes: 1 addition & 1 deletion azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,4 +50,4 @@ extends:
binlogPath: artifacts/log/Debug/x86/Build.binlog
pool:
name: NetCore1ESPool-Internal
demands: ImageOverride -equals windows.vs2022.amd64
demands: ImageOverride -equals windows.vs2026preview.scout.amd64
2 changes: 1 addition & 1 deletion eng/Version.Details.props
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ This file should be imported by eng/Versions.props
<SystemSecurityPermissionsPackageVersion>10.0.0-rc.3.25574.108</SystemSecurityPermissionsPackageVersion>
<SystemWindowsExtensionsPackageVersion>10.0.0-rc.3.25574.108</SystemWindowsExtensionsPackageVersion>
<!-- _git/dotnet-wpf-int dependencies -->
<MicrosoftDotNetWpfDncEngPackageVersion>10.0.0-rc.1.25603.4</MicrosoftDotNetWpfDncEngPackageVersion>
<MicrosoftDotNetWpfDncEngPackageVersion>10.0.0-rc.1.25609.7</MicrosoftDotNetWpfDncEngPackageVersion>
</PropertyGroup>
<!--Property group for alternate package version names-->
<PropertyGroup>
Expand Down
4 changes: 2 additions & 2 deletions eng/Version.Details.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@
<Uri>https://github.com/dotnet/dotnet</Uri>
<Sha>d119b40e8ff3b88f87ad60b04c807233a159b197</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Wpf.DncEng" Version="10.0.0-rc.1.25603.4">
<Dependency Name="Microsoft.DotNet.Wpf.DncEng" Version="10.0.0-rc.1.25609.7">
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-wpf-int</Uri>
<Sha>fe8feea90bc685260d2e3e80d285271f7c44794c</Sha>
<Sha>7b194d1da9c86db654df89ab762a07ac714a95ba</Sha>
</Dependency>
<Dependency Name="System.Resources.Extensions" Version="10.0.0-rc.3.25574.108">
<Uri>https://github.com/dotnet/dotnet</Uri>
Expand Down
4 changes: 2 additions & 2 deletions eng/WpfArcadeSdk/tools/Wpf.Cpp.props
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@
<CharacterSet>Unicode</CharacterSet>

<!-- v143 = Visual Studio 2022 -->
Copy link

Copilot AI Dec 9, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The comment still references Visual Studio 2022, but the toolset has been updated to v145 which corresponds to Visual Studio 2026. Please update the comment to reflect this change, e.g., <!-- v145 = Visual Studio 2026 -->

Suggested change
<!-- v143 = Visual Studio 2022 -->
<!-- v145 = Visual Studio 2026 -->

Copilot uses AI. Check for mistakes.
<PlatformToolset>v143</PlatformToolset>
<PlatformToolset>v145</PlatformToolset>

<!-- 17134 is Windows 10 v1903 (19H1) SDK -->
Copy link

Copilot AI Dec 9, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The comment is outdated and inaccurate. The SDK version 17134 corresponds to Windows 10 v1803 (April 2018 Update, not v1903), and the code now uses version 10.0.26100.0 which is the Windows 11 24H2 SDK. Please update the comment to accurately reflect the current SDK version, e.g., <!-- 26100 is Windows 11 24H2 SDK -->

Suggested change
<!-- 17134 is Windows 10 v1903 (19H1) SDK -->
<!-- 26100 is Windows 11 24H2 SDK -->

Copilot uses AI. Check for mistakes.
<WindowsTargetPlatformVersion>10.0.19041.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformVersion>10.0.26100.0</WindowsTargetPlatformVersion>

<ConfigurationType Condition="'$(ConfigurationType)'==''">DynamicLibrary</ConfigurationType>

Expand Down
4 changes: 2 additions & 2 deletions src/Microsoft.DotNet.Wpf/redist/VCRuntime/VCRuntime.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="$(WpfCppProps)" />
<PropertyGroup>
<VCRedistCrtFolderName Condition="'$(Configuration)'=='Release'">Microsoft.VC143.CRT</VCRedistCrtFolderName>
<VCRedistCrtFolderName Condition="'$(Configuration)'=='Debug'">Microsoft.VC143.DebugCRT</VCRedistCrtFolderName>
<VCRedistCrtFolderName Condition="'$(Configuration)'=='Release'">Microsoft.VC145.CRT</VCRedistCrtFolderName>
<VCRedistCrtFolderName Condition="'$(Configuration)'=='Debug'">Microsoft.VC145.DebugCRT</VCRedistCrtFolderName>
<!--
In Release builds, the Target assembly will be a privatized copy of VC runtime with a name like vcruntime140_cor3.dll
In Debug builds, the Target assembly will be a privatize copy of the VC runtime with no name changes - like vcruntime140d.dll
Expand Down
Loading