MSBuild.exe currently spends a significant amount of time JITting `Microsoft.DotNet.MSBuildSdkResolver` and its dependencies, see https://github.com/dotnet/msbuild/issues/9303 for details.
This PR makes Visual Studio installer add these assemblies to the NGEN queue, which is a necessary condition for eliminating JITting. Just like `Microsoft.Build.*` assemblies, we need to NGEN these with two configurations: vsn.exe so it works in the devenv process, and MSBuild.exe so it works in MSBuild satellite processes.
[main] Update dependencies from dotnet/sdk
- Coherency Updates:
- Microsoft.WindowsDesktop.App.Ref: from 9.0.0-alpha.1.23521.3 to 9.0.0-alpha.1.23526.7 (parent: Microsoft.NET.Sdk)
- VS.Redist.Common.WindowsDesktop.SharedFramework.x64.9.0: from 9.0.0-alpha.1.23521.3 to 9.0.0-alpha.1.23526.7 (parent: Microsoft.NET.Sdk)
- VS.Redist.Common.WindowsDesktop.TargetingPack.x64.9.0: from 9.0.0-alpha.1.23521.3 to 9.0.0-alpha.1.23526.7 (parent: Microsoft.NET.Sdk)
- VS.Redist.Common.NetCore.SharedFramework.x64.9.0: from 9.0.0-alpha.1.23523.13 to 9.0.0-alpha.1.23527.2 (parent: Microsoft.NET.Sdk)
- Microsoft.NETCore.App.Ref: from 9.0.0-alpha.1.23523.13 to 9.0.0-alpha.1.23527.2 (parent: Microsoft.NET.Sdk)
- VS.Redist.Common.NetCore.TargetingPack.x64.9.0: from 9.0.0-alpha.1.23523.13 to 9.0.0-alpha.1.23527.2 (parent: Microsoft.NET.Sdk)
- Microsoft.NETCore.App.Host.win-x64: from 9.0.0-alpha.1.23523.13 to 9.0.0-alpha.1.23527.2 (parent: Microsoft.NET.Sdk)
- Microsoft.NETCore.Platforms: from 9.0.0-alpha.1.23523.13 to 9.0.0-alpha.1.23527.2 (parent: Microsoft.NET.Sdk)
- Microsoft.AspNetCore.App.Ref: from 9.0.0-alpha.1.23523.17 to 9.0.0-alpha.1.23525.5 (parent: Microsoft.NET.Sdk)
- Microsoft.AspNetCore.App.Ref.Internal: from 9.0.0-alpha.1.23523.17 to 9.0.0-alpha.1.23525.5 (parent: Microsoft.NET.Sdk)
- Microsoft.AspNetCore.App.Runtime.win-x64: from 9.0.0-alpha.1.23523.17 to 9.0.0-alpha.1.23525.5 (parent: Microsoft.NET.Sdk)
- VS.Redist.Common.AspNetCore.SharedFramework.x64.9.0: from 9.0.0-alpha.1.23523.17 to 9.0.0-alpha.1.23525.5 (parent: Microsoft.NET.Sdk)
- dotnet-dev-certs: from 9.0.0-alpha.1.23523.17 to 9.0.0-alpha.1.23525.5 (parent: Microsoft.NET.Sdk)
- dotnet-user-jwts: from 9.0.0-alpha.1.23523.17 to 9.0.0-alpha.1.23525.5 (parent: Microsoft.NET.Sdk)
- dotnet-user-secrets: from 9.0.0-alpha.1.23523.17 to 9.0.0-alpha.1.23525.5 (parent: Microsoft.NET.Sdk)
- Microsoft.WindowsDesktop.App.Runtime.win-x64: from 9.0.0-alpha.1.23521.3 to 9.0.0-alpha.1.23526.7 (parent: Microsoft.NET.Sdk)
- Microsoft.Dotnet.WinForms.ProjectTemplates: from 9.0.0-alpha.1.23520.4 to 9.0.0-alpha.1.23525.8 (parent: Microsoft.WindowsDesktop.App.Runtime.win-x64)
- Microsoft.WindowsDesktop.App.Runtime.win-x64: from 9.0.0-alpha.1.23521.3 to 9.0.0-alpha.1.23526.7 (parent: Microsoft.NET.Sdk)
- Microsoft.DotNet.Wpf.ProjectTemplates: from 9.0.0-alpha.1.23520.4 to 9.0.0-alpha.1.23526.3 (parent: Microsoft.WindowsDesktop.App.Runtime.win-x64)
- Microsoft.FSharp.Compiler: from 12.8.0-beta.23523.7 to 12.8.0-beta.23525.2 (parent: Microsoft.NET.Sdk)
- Microsoft.SourceBuild.Intermediate.fsharp: from 8.0.200-beta.23523.7 to 8.0.200-beta.23525.2 (parent: Microsoft.NET.Sdk)
- Microsoft.NET.Test.Sdk: from 17.9.0-preview-23519-02 to 17.9.0-preview-23525-02 (parent: Microsoft.NET.Sdk)
- Microsoft.NET.ILLink.Tasks: from 9.0.0-alpha.1.23523.13 to 9.0.0-alpha.1.23527.2 (parent: Microsoft.NET.Sdk)
- Microsoft.Net.Compilers.Toolset: from 4.9.0-1.23524.3 to 4.9.0-1.23526.18 (parent: Microsoft.NET.Sdk)
- Microsoft.Build: from 17.9.0-preview-23523-01 to 17.9.0-preview-23525-03 (parent: Microsoft.NET.Sdk)
- NuGet.Build.Tasks: from 6.9.0-preview.1.18 to 6.9.0-preview.1.21 (parent: Microsoft.NET.Sdk)
- Microsoft.NETCore.App.Runtime.win-x64: from 9.0.0-alpha.1.23523.13 to 9.0.0-alpha.1.23527.2 (parent: Microsoft.NET.Sdk)
- Microsoft.NET.Workload.Emscripten.Current.Manifest-9.0.100.Transport: from 9.0.0-alpha.1.23507.1 to 9.0.0-alpha.1.23523.3 (parent: Microsoft.NETCore.App.Runtime.win-x64)
- Update Versions.props
- Update Versions.props
- adjust the failing sdk patch
.NET 8 supports macOS 10.15+ but the installer still claimed 10.13 support which meant the installer didn't block installation on older macOS versions.
Fixes https://github.com/dotnet/runtime/issues/93167
The hard links are causing issues with package tooling.
This changes to use symbolic links instead.
Besides fixing the issues with the package tooling,
symbolic links are easier to preserve throughout
the packaging process.