Move to Visual Studio 2026, SDK 26100 and toolset v145 (#20225)

This commit is contained in:
Dustin L. Howett
2026-06-10 17:43:30 -05:00
committed by GitHub
parent 56bb43c265
commit fc958b13ce
26 changed files with 35 additions and 26 deletions

View File

@@ -353,7 +353,7 @@ winget configure .config\configuration.winget
app](https://docs.microsoft.com/en-us/windows/uwp/get-started/enable-your-device-for-development) app](https://docs.microsoft.com/en-us/windows/uwp/get-started/enable-your-device-for-development)
to locally install and run Windows Terminal to locally install and run Windows Terminal
* You must have [PowerShell 7 or later](https://github.com/PowerShell/PowerShell/releases/latest) installed * You must have [PowerShell 7 or later](https://github.com/PowerShell/PowerShell/releases/latest) installed
* You must have the [Windows 11 (10.0.22621.0) * You must have the [Windows 11 (10.0.26100.0)
SDK](https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/) SDK](https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/)
installed installed
* You must have at least [VS * You must have at least [VS

View File

@@ -59,6 +59,7 @@ stages:
name: SHINE-INT-L name: SHINE-INT-L
${{ else }}: ${{ else }}:
name: SHINE-OSS-L name: SHINE-OSS-L
demands: ImageOverride -equals SHINE-VS18-Latest
buildPlatforms: [x64] buildPlatforms: [x64]
buildConfigurations: [AuditMode] buildConfigurations: [AuditMode]
buildEverything: true buildEverything: true
@@ -82,6 +83,7 @@ stages:
name: SHINE-INT-L name: SHINE-INT-L
${{ else }}: ${{ else }}:
name: SHINE-OSS-L name: SHINE-OSS-L
demands: ImageOverride -equals SHINE-VS18-Latest
buildPlatforms: buildPlatforms:
- ${{ platform }} - ${{ platform }}
buildConfigurations: [Release] buildConfigurations: [Release]

View File

@@ -32,6 +32,7 @@ stages:
parameters: parameters:
pool: # This only runs in CI pool: # This only runs in CI
name: SHINE-OSS-L name: SHINE-OSS-L
demands: ImageOverride -equals SHINE-VS18-Latest
buildPlatforms: [x64] buildPlatforms: [x64]
buildConfigurations: [Release] buildConfigurations: [Release]
buildEverything: true buildEverything: true

View File

@@ -44,6 +44,7 @@ stages:
name: SHINE-INT-L name: SHINE-INT-L
${{ else }}: ${{ else }}:
name: SHINE-OSS-L name: SHINE-OSS-L
demands: ImageOverride -equals SHINE-VS18-Latest
branding: ${{ parameters.branding }} branding: ${{ parameters.branding }}
buildPlatforms: ${{ parameters.buildPlatforms }} buildPlatforms: ${{ parameters.buildPlatforms }}
buildConfigurations: [Release] buildConfigurations: [Release]

View File

@@ -97,7 +97,7 @@ jobs:
${{ else }}: ${{ else }}:
OutputBuildPlatform: ${{ platform }} OutputBuildPlatform: ${{ platform }}
variables: variables:
MakeAppxPath: 'C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x86\MakeAppx.exe' MakeAppxPath: 'C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x86\MakeAppx.exe'
Terminal.BinDir: $(Build.SourcesDirectory)/bin/$(OutputBuildPlatform)/$(BuildConfiguration) Terminal.BinDir: $(Build.SourcesDirectory)/bin/$(OutputBuildPlatform)/$(BuildConfiguration)
# Azure DevOps abhors a vacuum # Azure DevOps abhors a vacuum
# If these are blank, expansion will fail later on... which will result in direct substitution of the variable *names* # If these are blank, expansion will fail later on... which will result in direct substitution of the variable *names*

View File

@@ -78,6 +78,7 @@ extends:
- 1ES.PT.ViaStartRight - 1ES.PT.ViaStartRight
pool: pool:
name: SHINE-INT-L name: SHINE-INT-L
demands: ImageOverride -equals SHINE-VS18-Latest
os: windows os: windows
sdl: sdl:
tsa: tsa:
@@ -162,6 +163,7 @@ extends:
parameters: parameters:
pool: pool:
name: SHINE-INT-S name: SHINE-INT-S
demands: ImageOverride -equals SHINE-VS18-Latest
os: windows os: windows
outerTemplateContext: outerTemplateContext:
outputs: outputs:
@@ -182,6 +184,7 @@ extends:
parameters: parameters:
pool: pool:
name: SHINE-INT-S name: SHINE-INT-S
demands: ImageOverride -equals SHINE-VS18-Latest
os: windows os: windows
outerTemplateContext: outerTemplateContext:
outputs: outputs:
@@ -200,6 +203,7 @@ extends:
parameters: parameters:
pool: pool:
name: SHINE-INT-S name: SHINE-INT-S
demands: ImageOverride -equals SHINE-VS18-Latest
os: windows os: windows
outerTemplateContext: outerTemplateContext:
outputs: outputs:
@@ -224,6 +228,7 @@ extends:
parameters: parameters:
pool: pool:
name: SHINE-INT-S name: SHINE-INT-S
demands: ImageOverride -equals SHINE-VS18-Latest
os: windows os: windows
includePublicSymbolServer: ${{ parameters.publishSymbolsToPublic }} includePublicSymbolServer: ${{ parameters.publishSymbolsToPublic }}
symbolExpiryTime: ${{ parameters.symbolExpiryTime }} symbolExpiryTime: ${{ parameters.symbolExpiryTime }}

View File

@@ -58,7 +58,7 @@ parameters:
type: object type: object
default: default:
name: SHINE-INT-S # By default, send jobs to the small agent pool. name: SHINE-INT-S # By default, send jobs to the small agent pool.
demands: ImageOverride -equals SHINE-VS17-Latest demands: ImageOverride -equals SHINE-VS18-Latest
variables: variables:
- template: variables-nuget-package-version.yml - template: variables-nuget-package-version.yml
@@ -81,7 +81,7 @@ stages:
parameters: parameters:
pool: pool:
name: SHINE-INT-L # Run the compilation on the large agent pool, rather than the default small one. name: SHINE-INT-L # Run the compilation on the large agent pool, rather than the default small one.
demands: ImageOverride -equals SHINE-VS17-Latest demands: ImageOverride -equals SHINE-VS18-Latest
branding: ${{ parameters.branding }} branding: ${{ parameters.branding }}
buildTerminal: ${{ parameters.buildTerminal }} buildTerminal: ${{ parameters.buildTerminal }}
buildConPTY: ${{ parameters.buildConPTY }} buildConPTY: ${{ parameters.buildConPTY }}

View File

@@ -1,6 +1,6 @@
steps: steps:
- pwsh: |- - pwsh: |-
$VsInstallRoot = & 'C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe' -requires Microsoft.VisualStudio.Component.Vcpkg -property installationPath $VsInstallRoot = & 'C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe' -requires Microsoft.VisualStudio.Component.Vcpkg -property installationPath -latest
If ([String]::IsNullOrEmpty($VsInstallRoot)) { If ([String]::IsNullOrEmpty($VsInstallRoot)) {
Remove-Item -Recurse -Force dep/vcpkg -ErrorAction:Ignore Remove-Item -Recurse -Force dep/vcpkg -ErrorAction:Ignore
git clone https://github.com/microsoft/vcpkg dep/vcpkg git clone https://github.com/microsoft/vcpkg dep/vcpkg

View File

@@ -22,7 +22,7 @@ Param(
[Parameter(HelpMessage="Path to makeappx.exe")] [Parameter(HelpMessage="Path to makeappx.exe")]
[ValidateScript({Test-Path $_ -Type Leaf})] [ValidateScript({Test-Path $_ -Type Leaf})]
[string] [string]
$MakeAppxPath = "C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x86\MakeAppx.exe" $MakeAppxPath = "C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x86\MakeAppx.exe"
) )
If ($null -Eq (Get-Item $MakeAppxPath -EA:SilentlyContinue)) { If ($null -Eq (Get-Item $MakeAppxPath -EA:SilentlyContinue)) {

View File

@@ -16,7 +16,7 @@ Param(
[Parameter(HelpMessage="Path to makepri.exe")] [Parameter(HelpMessage="Path to makepri.exe")]
[ValidateScript({Test-Path $_ -Type Leaf})] [ValidateScript({Test-Path $_ -Type Leaf})]
[string] [string]
$MakePriPath = "C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64\MakePri.exe" $MakePriPath = "C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x64\MakePri.exe"
) )
$ErrorActionPreference = 'Stop' $ErrorActionPreference = 'Stop'

View File

@@ -17,7 +17,7 @@ Param(
[Parameter(HelpMessage="Path to makepri.exe")] [Parameter(HelpMessage="Path to makepri.exe")]
[ValidateScript({Test-Path $_ -Type Leaf})] [ValidateScript({Test-Path $_ -Type Leaf})]
[string] [string]
$MakePriPath = "C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64\MakePri.exe" $MakePriPath = "C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x64\MakePri.exe"
) )
$ErrorActionPreference = 'Stop' $ErrorActionPreference = 'Stop'

View File

@@ -25,7 +25,7 @@ Param(
[Parameter(HelpMessage="Path to makeappx.exe", ParameterSetName='Layout')] [Parameter(HelpMessage="Path to makeappx.exe", ParameterSetName='Layout')]
[ValidateScript({Test-Path $_ -Type Leaf})] [ValidateScript({Test-Path $_ -Type Leaf})]
[string] [string]
$MakeAppxPath = "C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64\MakeAppx.exe", $MakeAppxPath = "C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x64\MakeAppx.exe",
[Parameter(HelpMessage="Include the portable mode marker file by default", ParameterSetName='AppX')] [Parameter(HelpMessage="Include the portable mode marker file by default", ParameterSetName='AppX')]
[Parameter(HelpMessage="Include the portable mode marker file by default", ParameterSetName='Layout')] [Parameter(HelpMessage="Include the portable mode marker file by default", ParameterSetName='Layout')]

View File

@@ -8,7 +8,7 @@ Param(
[Parameter(HelpMessage="Path to Windows Kit")] [Parameter(HelpMessage="Path to Windows Kit")]
[ValidateScript({Test-Path $_ -Type Leaf})] [ValidateScript({Test-Path $_ -Type Leaf})]
[string] [string]
$WindowsKitPath = "C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0" $WindowsKitPath = "C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0"
) )
$ErrorActionPreference = "Stop" $ErrorActionPreference = "Stop"

View File

@@ -5,4 +5,4 @@ set(VCPKG_LIBRARY_LINKAGE static)
# ...but with explicit platform toolset, so that future toolsets # ...but with explicit platform toolset, so that future toolsets
# aren't automatically picked up (it defaults to the latest one). # aren't automatically picked up (it defaults to the latest one).
set(VCPKG_PLATFORM_TOOLSET v143) set(VCPKG_PLATFORM_TOOLSET v145)

View File

@@ -5,7 +5,7 @@ set(VCPKG_LIBRARY_LINKAGE static)
# ...but with explicit platform toolset, so that future toolsets # ...but with explicit platform toolset, so that future toolsets
# aren't automatically picked up (it defaults to the latest one). # aren't automatically picked up (it defaults to the latest one).
set(VCPKG_PLATFORM_TOOLSET v143) set(VCPKG_PLATFORM_TOOLSET v145)
set(VCPKG_CXX_FLAGS /fsanitize=address) set(VCPKG_CXX_FLAGS /fsanitize=address)
set(VCPKG_C_FLAGS /fsanitize=address) set(VCPKG_C_FLAGS /fsanitize=address)

View File

@@ -5,7 +5,7 @@ set(VCPKG_LIBRARY_LINKAGE static)
# ...but with explicit platform toolset, so that future toolsets # ...but with explicit platform toolset, so that future toolsets
# aren't automatically picked up (it defaults to the latest one). # aren't automatically picked up (it defaults to the latest one).
set(VCPKG_PLATFORM_TOOLSET v143) set(VCPKG_PLATFORM_TOOLSET v145)
set(VCPKG_CXX_FLAGS /fsanitize=address) set(VCPKG_CXX_FLAGS /fsanitize=address)
set(VCPKG_C_FLAGS /fsanitize=address) set(VCPKG_C_FLAGS /fsanitize=address)

View File

@@ -5,7 +5,7 @@ set(VCPKG_LIBRARY_LINKAGE static)
# ...but with explicit platform toolset, so that future toolsets # ...but with explicit platform toolset, so that future toolsets
# aren't automatically picked up (it defaults to the latest one). # aren't automatically picked up (it defaults to the latest one).
set(VCPKG_PLATFORM_TOOLSET v143) set(VCPKG_PLATFORM_TOOLSET v145)
set(VCPKG_CXX_FLAGS /fsanitize=address) set(VCPKG_CXX_FLAGS /fsanitize=address)
set(VCPKG_C_FLAGS /fsanitize=address) set(VCPKG_C_FLAGS /fsanitize=address)

View File

@@ -5,4 +5,4 @@ set(VCPKG_LIBRARY_LINKAGE static)
# ...but with explicit platform toolset, so that future toolsets # ...but with explicit platform toolset, so that future toolsets
# aren't automatically picked up (it defaults to the latest one). # aren't automatically picked up (it defaults to the latest one).
set(VCPKG_PLATFORM_TOOLSET v143) set(VCPKG_PLATFORM_TOOLSET v145)

View File

@@ -5,4 +5,4 @@ set(VCPKG_LIBRARY_LINKAGE static)
# ...but with explicit platform toolset, so that future toolsets # ...but with explicit platform toolset, so that future toolsets
# aren't automatically picked up (it defaults to the latest one). # aren't automatically picked up (it defaults to the latest one).
set(VCPKG_PLATFORM_TOOLSET v143) set(VCPKG_PLATFORM_TOOLSET v145)

View File

@@ -23,7 +23,7 @@
<ProjectGuid>{96274800-9574-423E-892A-909FBE2AC8BE}</ProjectGuid> <ProjectGuid>{96274800-9574-423E-892A-909FBE2AC8BE}</ProjectGuid>
<Keyword>Win32Proj</Keyword> <Keyword>Win32Proj</Keyword>
<RootNamespace>EchoCon</RootNamespace> <RootNamespace>EchoCon</RootNamespace>
<WindowsTargetPlatformVersion>10.0.22621.0</WindowsTargetPlatformVersion> <WindowsTargetPlatformVersion>10.0.26100.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformMinVersion>10.0.17763.0</WindowsTargetPlatformMinVersion> <WindowsTargetPlatformMinVersion>10.0.17763.0</WindowsTargetPlatformMinVersion>
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />

View File

@@ -28,7 +28,7 @@
</Properties> </Properties>
<Dependencies> <Dependencies>
<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.17763.0" MaxVersionTested="10.0.22621.0" /> <TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.17763.0" MaxVersionTested="10.0.26100.0" />
<PackageDependency Name="Microsoft.VCLibs.140.00.Debug" MinVersion="14.0.27023.1" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" /> <PackageDependency Name="Microsoft.VCLibs.140.00.Debug" MinVersion="14.0.27023.1" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" />
<PackageDependency Name="Microsoft.VCLibs.140.00.Debug.UWPDesktop" MinVersion="14.0.27027.1" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" /> <PackageDependency Name="Microsoft.VCLibs.140.00.Debug.UWPDesktop" MinVersion="14.0.27027.1" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" />
</Dependencies> </Dependencies>

View File

@@ -9,7 +9,7 @@
<uap:SupportedUsers>multiple</uap:SupportedUsers> <uap:SupportedUsers>multiple</uap:SupportedUsers>
</Properties> </Properties>
<Dependencies> <Dependencies>
<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.17763.0" MaxVersionTested="10.0.22621.0" /> <TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.17763.0" MaxVersionTested="10.0.26100.0" />
</Dependencies> </Dependencies>
<Resources> <Resources>
<Resource Language="x-generate" /> <Resource Language="x-generate" />

View File

@@ -176,9 +176,9 @@ namespace SettingsModelUnitTests
auto hashFromKey = [&](auto& kc) { auto hashFromKey = [&](auto& kc) {
auto actionAndArgs = ::TestUtils::GetActionAndArgs(*actionMap, kc); auto actionAndArgs = ::TestUtils::GetActionAndArgs(*actionMap, kc);
VERIFY_ARE_EQUAL(ShortcutAction::NewTab, actionAndArgs.Action()); VERIFY_ARE_EQUAL(ShortcutAction::NewTab, actionAndArgs.Action());
const auto& realArgs = actionAndArgs.Args().as<NewTabArgs>(); const auto& realArgs = actionAndArgs.Args().template as<NewTabArgs>();
VERIFY_IS_NOT_NULL(realArgs.ContentArgs()); VERIFY_IS_NOT_NULL(realArgs.ContentArgs());
const auto terminalArgs{ realArgs.ContentArgs().try_as<NewTerminalArgs>() }; const auto terminalArgs{ realArgs.ContentArgs().template try_as<NewTerminalArgs>() };
return terminalArgs.Hash(); return terminalArgs.Hash();
}; };

View File

@@ -29,7 +29,7 @@
<Description>TAEF Packaged Cwa FullTrust Application Host Process</Description> <Description>TAEF Packaged Cwa FullTrust Application Host Process</Description>
</Properties> </Properties>
<Dependencies> <Dependencies>
<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.18362.0" MaxVersionTested="10.0.22621.0" /> <TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.18362.0" MaxVersionTested="10.0.26100.0" />
<PackageDependency Name="Microsoft.VCLibs.140.00.Debug" MinVersion="14.0.27023.1" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" /> <PackageDependency Name="Microsoft.VCLibs.140.00.Debug" MinVersion="14.0.27023.1" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" />
<PackageDependency Name="Microsoft.VCLibs.140.00.Debug.UWPDesktop" MinVersion="14.0.27027.1" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" /> <PackageDependency Name="Microsoft.VCLibs.140.00.Debug.UWPDesktop" MinVersion="14.0.27027.1" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" />
</Dependencies> </Dependencies>

View File

@@ -75,7 +75,7 @@
</ItemGroup> </ItemGroup>
<PropertyGroup Label="Globals"> <PropertyGroup Label="Globals">
<WindowsTargetPlatformVersion Condition="'$(WindowsTargetPlatformVersion)' == ''">10.0.22621.0</WindowsTargetPlatformVersion> <WindowsTargetPlatformVersion Condition="'$(WindowsTargetPlatformVersion)' == ''">10.0.26100.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformMinVersion Condition="'$(WindowsTargetPlatformMinVersion)' == ''">10.0.18362.0</WindowsTargetPlatformMinVersion> <WindowsTargetPlatformMinVersion Condition="'$(WindowsTargetPlatformMinVersion)' == ''">10.0.18362.0</WindowsTargetPlatformMinVersion>
</PropertyGroup> </PropertyGroup>
@@ -95,7 +95,8 @@
<!-- For ALL build types--> <!-- For ALL build types-->
<PropertyGroup Label="Configuration"> <PropertyGroup Label="Configuration">
<PlatformToolset>v143</PlatformToolset> <PlatformToolset Condition="'$(VisualStudioVersion)' &gt;= '18.0'">v145</PlatformToolset>
<PlatformToolset Condition="'$(PlatformToolset)' == ''">v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet> <CharacterSet>Unicode</CharacterSet>
<LinkIncremental>false</LinkIncremental> <LinkIncremental>false</LinkIncremental>
<PreferredToolArchitecture>x64</PreferredToolArchitecture> <PreferredToolArchitecture>x64</PreferredToolArchitecture>
@@ -196,7 +197,6 @@
</ClCompile> </ClCompile>
<Link> <Link>
<SetChecksum>false</SetChecksum> <SetChecksum>false</SetChecksum>
<GenerateDebugInformation>DebugFastLink</GenerateDebugInformation>
</Link> </Link>
</ItemDefinitionGroup> </ItemDefinitionGroup>

View File

@@ -63,7 +63,7 @@
<Import Project="$(WapProjPath)\Microsoft.DesktopBridge.props" /> <Import Project="$(WapProjPath)\Microsoft.DesktopBridge.props" />
<PropertyGroup> <PropertyGroup>
<TargetPlatformVersion>10.0.22621.0</TargetPlatformVersion> <TargetPlatformVersion>10.0.26100.0</TargetPlatformVersion>
<TargetPlatformMinVersion>10.0.18362.0</TargetPlatformMinVersion> <TargetPlatformMinVersion>10.0.18362.0</TargetPlatformMinVersion>
<DefaultLanguage>en-US</DefaultLanguage> <DefaultLanguage>en-US</DefaultLanguage>
</PropertyGroup> </PropertyGroup>