diff --git a/eng/scripts/InstallVisualStudio.ps1 b/eng/scripts/InstallVisualStudio.ps1 index 164e86a7918f..bed4e987491d 100644 --- a/eng/scripts/InstallVisualStudio.ps1 +++ b/eng/scripts/InstallVisualStudio.ps1 @@ -11,11 +11,12 @@ Enterprise .PARAMETER Channel Selects which channel of Visual Studio to install. Must be one of these values: - Release (the default) - Preview + Release/Stable (the default) + Preview/Insiders .PARAMETER Version Selects which version of Visual Studio to install. Must be one of these values: 2022 + 2026 .PARAMETER InstallPath The location on disk where Visual Studio should be installed or updated. Default path is location of latest existing installation of the specified edition, if any. If that VS edition is not currently installed, default @@ -35,9 +36,9 @@ param( [ValidateSet('BuildTools','Community', 'Professional', 'Enterprise')] [string]$Edition = 'Community', - [ValidateSet('Release', 'Preview', 'IntPreview', 'Dogfood')] + [ValidateSet('Release', 'Stable', 'Preview', 'Insiders', 'IntPreview', 'Dogfood')] [string]$Channel = 'Release', - [ValidateSet('2022')] + [ValidateSet('2022', '2026')] [string]$Version = '2022', [string]$InstallPath, [switch]$Passive, @@ -67,20 +68,42 @@ $ProgressPreference = 'SilentlyContinue' # Workaround PowerShell/PowerShell#2138 if ("$Version" -eq "2022") { $vsversion = 17; } -$channelUri = "https://aka.ms/vs/$vsversion/release" +elseif ("$Version" -eq "2026") { + $vsversion = 18; +} + +# Normalize channel names (Stable=Release, Insiders=Preview, Dogfood=IntPreview) +switch ($Channel) { + 'Stable' { $Channel = 'Release' } + 'Insiders' { $Channel = 'Preview' } + 'Dogfood' { $Channel = 'IntPreview' } +} + $responseFileName = "vs.$vsversion" if ("$Edition" -eq "BuildTools") { $responseFileName += ".buildtools" } -if ("$Channel" -eq "Dogfood") { - $Channel = "IntPreview" -} + +# Channel URIs differ between VS 2022 and VS 2026+ +# VS 2022: release, pre, intpreview +# VS 2026+: stable, insiders, intpreview (canary) if ("$Channel" -eq "Preview") { $responseFileName += ".preview" - $channelUri = "https://aka.ms/vs/$vsversion/pre" + if ($vsversion -ge 18) { + $channelUri = "https://aka.ms/vs/$vsversion/insiders" + } else { + $channelUri = "https://aka.ms/vs/$vsversion/pre" + } } elseif ("$Channel" -eq "IntPreview") { $responseFileName += ".intpreview" $channelUri = "https://aka.ms/vs/$vsversion/intpreview" +} else { + # Release channel + if ($vsversion -ge 18) { + $channelUri = "https://aka.ms/vs/$vsversion/stable" + } else { + $channelUri = "https://aka.ms/vs/$vsversion/release" + } } $responseFile = "$PSScriptRoot\$responseFileName.json" @@ -107,11 +130,15 @@ if (-not $InstallPath) { } if (-not $InstallPath) { - if ($vsversion -eq "17") { + if (($vsversion -eq 17) -or ($vsversion -eq 18)) { $pathPrefix = "${env:ProgramFiles}"; } if ("$Channel" -eq "Preview") { - $InstallPath = "$pathPrefix\Microsoft Visual Studio\$Version\${Edition}_Pre" + if ($vsversion -ge 18) { + $InstallPath = "$pathPrefix\Microsoft Visual Studio\$Version\${Edition}_Insiders" + } else { + $InstallPath = "$pathPrefix\Microsoft Visual Studio\$Version\${Edition}_Pre" + } } elseif ("$Channel" -eq "IntPreview") { $InstallPath = "$pathPrefix\Microsoft Visual Studio\$Version\${Edition}_IntPre" } else { diff --git a/eng/scripts/vs.17.buildtools.intpreview.json b/eng/scripts/vs.17.buildtools.intpreview.json index 8a7c5ac445cb..5e27f5b52ab5 100644 --- a/eng/scripts/vs.17.buildtools.intpreview.json +++ b/eng/scripts/vs.17.buildtools.intpreview.json @@ -20,7 +20,7 @@ "Microsoft.VisualStudio.Component.VC.14.29.16.11.x86.x64", "Microsoft.VisualStudio.Component.VC.14.29.16.11.ATL.ARM64", "Microsoft.VisualStudio.Component.VC.14.29.16.11.ATL", - "Microsoft.VisualStudio.Component.Windows10SDK.19041", + "Microsoft.VisualStudio.Component.Windows11SDK.22621", "Microsoft.VisualStudio.Workload.ManagedDesktopBuildTools", "Microsoft.VisualStudio.Workload.MSBuildTools", "Microsoft.VisualStudio.Workload.NetCoreBuildTools", diff --git a/eng/scripts/vs.17.buildtools.json b/eng/scripts/vs.17.buildtools.json index 3a125c9d35eb..a00df84f9373 100644 --- a/eng/scripts/vs.17.buildtools.json +++ b/eng/scripts/vs.17.buildtools.json @@ -20,7 +20,7 @@ "Microsoft.VisualStudio.Component.VC.14.29.16.11.x86.x64", "Microsoft.VisualStudio.Component.VC.14.29.16.11.ATL.ARM64", "Microsoft.VisualStudio.Component.VC.14.29.16.11.ATL", - "Microsoft.VisualStudio.Component.Windows10SDK.19041", + "Microsoft.VisualStudio.Component.Windows11SDK.22621", "Microsoft.VisualStudio.Workload.ManagedDesktopBuildTools", "Microsoft.VisualStudio.Workload.MSBuildTools", "Microsoft.VisualStudio.Workload.NetCoreBuildTools", diff --git a/eng/scripts/vs.17.buildtools.preview.json b/eng/scripts/vs.17.buildtools.preview.json index 571a49978103..9b1c3ac6aa0d 100644 --- a/eng/scripts/vs.17.buildtools.preview.json +++ b/eng/scripts/vs.17.buildtools.preview.json @@ -20,7 +20,7 @@ "Microsoft.VisualStudio.Component.VC.14.29.16.11.x86.x64", "Microsoft.VisualStudio.Component.VC.14.29.16.11.ATL.ARM64", "Microsoft.VisualStudio.Component.VC.14.29.16.11.ATL", - "Microsoft.VisualStudio.Component.Windows10SDK.19041", + "Microsoft.VisualStudio.Component.Windows11SDK.22621", "Microsoft.VisualStudio.Workload.ManagedDesktopBuildTools", "Microsoft.VisualStudio.Workload.MSBuildTools", "Microsoft.VisualStudio.Workload.NetCoreBuildTools", diff --git a/eng/scripts/vs.17.intpreview.json b/eng/scripts/vs.17.intpreview.json index 67b7a1f8e90d..a4d195acc76b 100644 --- a/eng/scripts/vs.17.intpreview.json +++ b/eng/scripts/vs.17.intpreview.json @@ -17,7 +17,7 @@ "Microsoft.VisualStudio.Component.VC.14.29.16.11.x86.x64", "Microsoft.VisualStudio.Component.VC.14.29.16.11.ATL.ARM64", "Microsoft.VisualStudio.Component.VC.14.29.16.11.ATL", - "Microsoft.VisualStudio.Component.Windows10SDK.19041", + "Microsoft.VisualStudio.Component.Windows11SDK.22621", "Microsoft.VisualStudio.Workload.ManagedDesktop", "Microsoft.VisualStudio.Workload.NativeDesktop", "Microsoft.VisualStudio.Workload.NetWeb", diff --git a/eng/scripts/vs.17.json b/eng/scripts/vs.17.json index 86acfd28fdbe..ac50b0374bf5 100644 --- a/eng/scripts/vs.17.json +++ b/eng/scripts/vs.17.json @@ -17,7 +17,7 @@ "Microsoft.VisualStudio.Component.VC.14.29.16.11.x86.x64", "Microsoft.VisualStudio.Component.VC.14.29.16.11.ATL.ARM64", "Microsoft.VisualStudio.Component.VC.14.29.16.11.ATL", - "Microsoft.VisualStudio.Component.Windows10SDK.19041", + "Microsoft.VisualStudio.Component.Windows11SDK.22621", "Microsoft.VisualStudio.Workload.ManagedDesktop", "Microsoft.VisualStudio.Workload.NativeDesktop", "Microsoft.VisualStudio.Workload.NetWeb", diff --git a/eng/scripts/vs.17.preview.json b/eng/scripts/vs.17.preview.json index 39f8297f1f96..3cc22c12d5fb 100644 --- a/eng/scripts/vs.17.preview.json +++ b/eng/scripts/vs.17.preview.json @@ -17,7 +17,7 @@ "Microsoft.VisualStudio.Component.VC.14.29.16.11.x86.x64", "Microsoft.VisualStudio.Component.VC.14.29.16.11.ATL.ARM64", "Microsoft.VisualStudio.Component.VC.14.29.16.11.ATL", - "Microsoft.VisualStudio.Component.Windows10SDK.19041", + "Microsoft.VisualStudio.Component.Windows11SDK.22621", "Microsoft.VisualStudio.Workload.ManagedDesktop", "Microsoft.VisualStudio.Workload.NativeDesktop", "Microsoft.VisualStudio.Workload.NetWeb", diff --git a/eng/scripts/vs.18.buildtools.intpreview.json b/eng/scripts/vs.18.buildtools.intpreview.json new file mode 100644 index 000000000000..7c32d3cf404d --- /dev/null +++ b/eng/scripts/vs.18.buildtools.intpreview.json @@ -0,0 +1,31 @@ +{ + "channelUri": "https://aka.ms/vs/18/intpreview/channel", + "channelId": "VisualStudio.18.IntPreview", + "includeRecommended": false, + "addProductLang": [ + "en-US" + ], + "add": [ + "Microsoft.Net.Component.4.6.2.TargetingPack", + "Microsoft.Net.Component.4.7.2.SDK", + "Microsoft.Net.Component.4.7.2.TargetingPack", + "Microsoft.VisualStudio.Component.FSharp.MSBuild", + "Microsoft.VisualStudio.Component.NuGet", + "Microsoft.VisualStudio.Component.NuGet.BuildTools", + "Microsoft.VisualStudio.Component.VC.ATL", + "Microsoft.VisualStudio.Component.VC.ATL.ARM64", + "Microsoft.VisualStudio.Component.VC.Tools.ARM64", + "Microsoft.VisualStudio.Component.VC.Tools.x86.x64", + "Microsoft.VisualStudio.Component.VC.14.44.17.14.ARM64", + "Microsoft.VisualStudio.Component.VC.14.44.17.14.x86.x64", + "Microsoft.VisualStudio.Component.VC.14.44.17.14.ATL.ARM64", + "Microsoft.VisualStudio.Component.VC.14.44.17.14.ATL", + "Microsoft.VisualStudio.Component.Windows11SDK.22621", + "Microsoft.VisualStudio.Workload.ManagedDesktopBuildTools", + "Microsoft.VisualStudio.Workload.MSBuildTools", + "Microsoft.VisualStudio.Workload.NetCoreBuildTools", + "Microsoft.VisualStudio.Workload.VCTools", + "Microsoft.VisualStudio.Workload.VisualStudioExtensionBuildTools", + "Microsoft.VisualStudio.Workload.WebBuildTools" + ] +} diff --git a/eng/scripts/vs.18.buildtools.json b/eng/scripts/vs.18.buildtools.json new file mode 100644 index 000000000000..4307d3705bc0 --- /dev/null +++ b/eng/scripts/vs.18.buildtools.json @@ -0,0 +1,31 @@ +{ + "channelUri": "https://aka.ms/vs/18/stable/channel", + "channelId": "VisualStudio.18.Release", + "includeRecommended": false, + "addProductLang": [ + "en-US" + ], + "add": [ + "Microsoft.Net.Component.4.6.2.TargetingPack", + "Microsoft.Net.Component.4.7.2.SDK", + "Microsoft.Net.Component.4.7.2.TargetingPack", + "Microsoft.VisualStudio.Component.FSharp.MSBuild", + "Microsoft.VisualStudio.Component.NuGet", + "Microsoft.VisualStudio.Component.NuGet.BuildTools", + "Microsoft.VisualStudio.Component.VC.ATL", + "Microsoft.VisualStudio.Component.VC.ATL.ARM64", + "Microsoft.VisualStudio.Component.VC.Tools.ARM64", + "Microsoft.VisualStudio.Component.VC.Tools.x86.x64", + "Microsoft.VisualStudio.Component.VC.14.44.17.14.ARM64", + "Microsoft.VisualStudio.Component.VC.14.44.17.14.x86.x64", + "Microsoft.VisualStudio.Component.VC.14.44.17.14.ATL.ARM64", + "Microsoft.VisualStudio.Component.VC.14.44.17.14.ATL", + "Microsoft.VisualStudio.Component.Windows11SDK.22621", + "Microsoft.VisualStudio.Workload.ManagedDesktopBuildTools", + "Microsoft.VisualStudio.Workload.MSBuildTools", + "Microsoft.VisualStudio.Workload.NetCoreBuildTools", + "Microsoft.VisualStudio.Workload.VCTools", + "Microsoft.VisualStudio.Workload.VisualStudioExtensionBuildTools", + "Microsoft.VisualStudio.Workload.WebBuildTools" + ] +} diff --git a/eng/scripts/vs.18.buildtools.preview.json b/eng/scripts/vs.18.buildtools.preview.json new file mode 100644 index 000000000000..e43598698d36 --- /dev/null +++ b/eng/scripts/vs.18.buildtools.preview.json @@ -0,0 +1,31 @@ +{ + "channelUri": "https://aka.ms/vs/18/insiders/channel", + "channelId": "VisualStudio.18.Preview", + "includeRecommended": false, + "addProductLang": [ + "en-US" + ], + "add": [ + "Microsoft.Net.Component.4.6.2.TargetingPack", + "Microsoft.Net.Component.4.7.2.SDK", + "Microsoft.Net.Component.4.7.2.TargetingPack", + "Microsoft.VisualStudio.Component.FSharp.MSBuild", + "Microsoft.VisualStudio.Component.NuGet", + "Microsoft.VisualStudio.Component.NuGet.BuildTools", + "Microsoft.VisualStudio.Component.VC.ATL", + "Microsoft.VisualStudio.Component.VC.ATL.ARM64", + "Microsoft.VisualStudio.Component.VC.Tools.ARM64", + "Microsoft.VisualStudio.Component.VC.Tools.x86.x64", + "Microsoft.VisualStudio.Component.VC.14.44.17.14.ARM64", + "Microsoft.VisualStudio.Component.VC.14.44.17.14.x86.x64", + "Microsoft.VisualStudio.Component.VC.14.44.17.14.ATL.ARM64", + "Microsoft.VisualStudio.Component.VC.14.44.17.14.ATL", + "Microsoft.VisualStudio.Component.Windows11SDK.22621", + "Microsoft.VisualStudio.Workload.ManagedDesktopBuildTools", + "Microsoft.VisualStudio.Workload.MSBuildTools", + "Microsoft.VisualStudio.Workload.NetCoreBuildTools", + "Microsoft.VisualStudio.Workload.VCTools", + "Microsoft.VisualStudio.Workload.VisualStudioExtensionBuildTools", + "Microsoft.VisualStudio.Workload.WebBuildTools" + ] +} diff --git a/eng/scripts/vs.18.intpreview.json b/eng/scripts/vs.18.intpreview.json new file mode 100644 index 000000000000..2fd07fb719d5 --- /dev/null +++ b/eng/scripts/vs.18.intpreview.json @@ -0,0 +1,26 @@ +{ + "channelUri": "https://aka.ms/vs/18/intpreview/channel", + "channelId": "VisualStudio.18.IntPreview", + "includeRecommended": false, + "addProductLang": [ + "en-US" + ], + "add": [ + "Microsoft.Net.Component.4.6.2.TargetingPack", + "Microsoft.Net.Component.4.7.2.SDK", + "Microsoft.Net.Component.4.7.2.TargetingPack", + "Microsoft.VisualStudio.Component.VC.ATL", + "Microsoft.VisualStudio.Component.VC.ATL.ARM64", + "Microsoft.VisualStudio.Component.VC.Tools.ARM64", + "Microsoft.VisualStudio.Component.VC.Tools.x86.x64", + "Microsoft.VisualStudio.Component.VC.14.44.17.14.ARM64", + "Microsoft.VisualStudio.Component.VC.14.44.17.14.x86.x64", + "Microsoft.VisualStudio.Component.VC.14.44.17.14.ATL.ARM64", + "Microsoft.VisualStudio.Component.VC.14.44.17.14.ATL", + "Microsoft.VisualStudio.Component.Windows11SDK.22621", + "Microsoft.VisualStudio.Workload.ManagedDesktop", + "Microsoft.VisualStudio.Workload.NativeDesktop", + "Microsoft.VisualStudio.Workload.NetWeb", + "Microsoft.VisualStudio.Workload.VisualStudioExtension" + ] +} diff --git a/eng/scripts/vs.18.json b/eng/scripts/vs.18.json new file mode 100644 index 000000000000..65393cf4a014 --- /dev/null +++ b/eng/scripts/vs.18.json @@ -0,0 +1,26 @@ +{ + "channelUri": "https://aka.ms/vs/18/stable/channel", + "channelId": "VisualStudio.18.Release", + "includeRecommended": false, + "addProductLang": [ + "en-US" + ], + "add": [ + "Microsoft.Net.Component.4.6.2.TargetingPack", + "Microsoft.Net.Component.4.7.2.SDK", + "Microsoft.Net.Component.4.7.2.TargetingPack", + "Microsoft.VisualStudio.Component.VC.ATL", + "Microsoft.VisualStudio.Component.VC.ATL.ARM64", + "Microsoft.VisualStudio.Component.VC.Tools.ARM64", + "Microsoft.VisualStudio.Component.VC.Tools.x86.x64", + "Microsoft.VisualStudio.Component.VC.14.44.17.14.ARM64", + "Microsoft.VisualStudio.Component.VC.14.44.17.14.x86.x64", + "Microsoft.VisualStudio.Component.VC.14.44.17.14.ATL.ARM64", + "Microsoft.VisualStudio.Component.VC.14.44.17.14.ATL", + "Microsoft.VisualStudio.Component.Windows11SDK.22621", + "Microsoft.VisualStudio.Workload.ManagedDesktop", + "Microsoft.VisualStudio.Workload.NativeDesktop", + "Microsoft.VisualStudio.Workload.NetWeb", + "Microsoft.VisualStudio.Workload.VisualStudioExtension" + ] +} diff --git a/eng/scripts/vs.18.preview.json b/eng/scripts/vs.18.preview.json new file mode 100644 index 000000000000..ad23cf27b40a --- /dev/null +++ b/eng/scripts/vs.18.preview.json @@ -0,0 +1,26 @@ +{ + "channelUri": "https://aka.ms/vs/18/insiders/channel", + "channelId": "VisualStudio.18.Preview", + "includeRecommended": false, + "addProductLang": [ + "en-US" + ], + "add": [ + "Microsoft.Net.Component.4.6.2.TargetingPack", + "Microsoft.Net.Component.4.7.2.SDK", + "Microsoft.Net.Component.4.7.2.TargetingPack", + "Microsoft.VisualStudio.Component.VC.ATL", + "Microsoft.VisualStudio.Component.VC.ATL.ARM64", + "Microsoft.VisualStudio.Component.VC.Tools.ARM64", + "Microsoft.VisualStudio.Component.VC.Tools.x86.x64", + "Microsoft.VisualStudio.Component.VC.14.44.17.14.ARM64", + "Microsoft.VisualStudio.Component.VC.14.44.17.14.x86.x64", + "Microsoft.VisualStudio.Component.VC.14.44.17.14.ATL.ARM64", + "Microsoft.VisualStudio.Component.VC.14.44.17.14.ATL", + "Microsoft.VisualStudio.Component.Windows11SDK.22621", + "Microsoft.VisualStudio.Workload.ManagedDesktop", + "Microsoft.VisualStudio.Workload.NativeDesktop", + "Microsoft.VisualStudio.Workload.NetWeb", + "Microsoft.VisualStudio.Workload.VisualStudioExtension" + ] +} diff --git a/eng/targets/Cpp.Common.props b/eng/targets/Cpp.Common.props index ca1335ef2c85..4f2f7662b977 100644 --- a/eng/targets/Cpp.Common.props +++ b/eng/targets/Cpp.Common.props @@ -22,7 +22,7 @@ x64 v143 $(PlatformToolsetVersion) - - 10.0.19041.0 + + 10.0.22621.0 diff --git a/src/Servers/IIS/AspNetCoreModuleV2/InProcessRequestHandler/managedexports.cpp b/src/Servers/IIS/AspNetCoreModuleV2/InProcessRequestHandler/managedexports.cpp index abc20ef05ecf..056ba647f4ba 100644 --- a/src/Servers/IIS/AspNetCoreModuleV2/InProcessRequestHandler/managedexports.cpp +++ b/src/Servers/IIS/AspNetCoreModuleV2/InProcessRequestHandler/managedexports.cpp @@ -10,50 +10,6 @@ extern bool g_fInProcessApplicationCreated; extern std::string g_errorPageContent; extern IHttpServer* g_pHttpServer; -// -// Add support for certain HTTP/2.0 features like trailing headers -// and GOAWAY or RST_STREAM frames. -// - -class __declspec(uuid("1a2acc57-cae2-4f28-b4ab-00c8f96b12ec")) - IHttpResponse4 : public IHttpResponse3 -{ -public: - virtual - HRESULT - DeleteTrailer( - _In_ PCSTR pszHeaderName - ) = 0; - - virtual - PCSTR - GetTrailer( - _In_ PCSTR pszHeaderName, - _Out_ USHORT* pcchHeaderValue = nullptr - ) const = 0; - - virtual - VOID - ResetStream( - _In_ ULONG errorCode - ) = 0; - - virtual - VOID - SetNeedGoAway( - VOID - ) = 0; - - virtual - HRESULT - SetTrailer( - _In_ PCSTR pszHeaderName, - _In_ PCSTR pszHeaderValue, - _In_ USHORT cchHeaderValue, - _In_ BOOL fReplace - ) = 0; -}; - // // Initialization export //