From fabf823cb69f39c7241ed6404081346c9aa16b0d Mon Sep 17 00:00:00 2001 From: Rainer Sigwald Date: Fri, 20 Dec 2024 10:43:43 -0600 Subject: [PATCH 1/2] Stop ngening compat-only DLLs in subfolders MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit These DLLs are shipped to these subfolders only for compat with applications that load from them naïvely; MSBuild.exe and VS and applications that use MSBuildLocator should only ever load them from the `bin\` directory directly. So stop spending time ngening them. --- .../MSBuild.VSSetup.Arm64/files.arm64.swr | 4 +- src/Package/MSBuild.VSSetup/files.swr | 40 +++++++++---------- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/src/Package/MSBuild.VSSetup.Arm64/files.arm64.swr b/src/Package/MSBuild.VSSetup.Arm64/files.arm64.swr index 41ccc2d7ed0..1e7bfca6346 100644 --- a/src/Package/MSBuild.VSSetup.Arm64/files.arm64.swr +++ b/src/Package/MSBuild.VSSetup.Arm64/files.arm64.swr @@ -14,8 +14,8 @@ folder InstallDir:\MSBuild\Current\Bin\arm64 file source=$(Arm64BinPath)MSBuild.exe.config file source=$(FrameworkBinPath)x64\Microsoft.Build.Framework.tlb - file source=$(Arm64BinPath)Microsoft.Build.dll vs.file.ngenArchitecture=arm64 - file source=$(Arm64BinPath)Microsoft.Build.Tasks.Core.dll vs.file.ngenArchitecture=arm64 + file source=$(Arm64BinPath)Microsoft.Build.dll + file source=$(Arm64BinPath)Microsoft.Build.Tasks.Core.dll file source=$(Arm64BinPath)Microsoft.Common.CurrentVersion.targets file source=$(Arm64BinPath)Microsoft.Common.CrossTargeting.targets file source=$(Arm64BinPath)Microsoft.Common.overridetasks diff --git a/src/Package/MSBuild.VSSetup/files.swr b/src/Package/MSBuild.VSSetup/files.swr index fcd8630dbd6..4fca187cc6a 100644 --- a/src/Package/MSBuild.VSSetup/files.swr +++ b/src/Package/MSBuild.VSSetup/files.swr @@ -183,28 +183,28 @@ folder InstallDir:\MSBuild\Current\Bin\amd64 file source=$(X64BinPath)MSBuild.exe.config file source=$(TaskHostX64BinPath)MSBuildTaskHost.exe.config - file source=$(X86BinPath)Microsoft.Build.dll vs.file.ngenArchitecture=all - file source=$(X86BinPath)Microsoft.Build.Framework.dll vs.file.ngenArchitecture=all + file source=$(X86BinPath)Microsoft.Build.dll + file source=$(X86BinPath)Microsoft.Build.Framework.dll file source=$(FrameworkBinPath)x64\Microsoft.Build.Framework.tlb - file source=$(X86BinPath)Microsoft.Build.Tasks.Core.dll vs.file.ngenArchitecture=all - file source=$(X86BinPath)Microsoft.Build.Utilities.Core.dll vs.file.ngenArchitecture=all - file source=$(X86BinPath)System.Buffers.dll vs.file.ngenArchitecture=all - file source=$(X86BinPath)System.Memory.dll vs.file.ngenArchitecture=all - file source=$(X86BinPath)System.Reflection.Metadata.dll vs.file.ngenArchitecture=all - file source=$(X86BinPath)System.Reflection.MetadataLoadContext.dll vs.file.ngenArchitecture=all - file source=$(X86BinPath)System.Text.Json.dll vs.file.ngenArchitecture=all - file source=$(X86BinPath)Microsoft.Bcl.AsyncInterfaces.dll vs.file.ngenArchitecture=all - file source=$(X86BinPath)Microsoft.IO.Redist.dll vs.file.ngenArchitecture=all - file source=$(X86BinPath)System.Text.Encodings.Web.dll vs.file.ngenArchitecture=all - file source=$(X86BinPath)System.Threading.Tasks.Extensions.dll vs.file.ngenArchitecture=all + file source=$(X86BinPath)Microsoft.Build.Tasks.Core.dll + file source=$(X86BinPath)Microsoft.Build.Utilities.Core.dll + file source=$(X86BinPath)System.Buffers.dll + file source=$(X86BinPath)System.Memory.dll + file source=$(X86BinPath)System.Reflection.Metadata.dll + file source=$(X86BinPath)System.Reflection.MetadataLoadContext.dll + file source=$(X86BinPath)System.Text.Json.dll + file source=$(X86BinPath)Microsoft.Bcl.AsyncInterfaces.dll + file source=$(X86BinPath)Microsoft.IO.Redist.dll + file source=$(X86BinPath)System.Text.Encodings.Web.dll + file source=$(X86BinPath)System.Threading.Tasks.Extensions.dll file source=$(X86BinPath)System.ValueTuple.dll - file source=$(X86BinPath)System.Numerics.Vectors.dll vs.file.ngenArchitecture=all - file source=$(X86BinPath)System.Resources.Extensions.dll vs.file.ngenArchitecture=all - file source=$(X86BinPath)System.Runtime.CompilerServices.Unsafe.dll vs.file.ngenArchitecture=all - file source=$(X86BinPath)System.Threading.Tasks.Dataflow.dll vs.file.ngenArchitecture=all - file source=$(X86BinPath)System.Collections.Immutable.dll vs.file.ngenArchitecture=all - file source=$(X86BinPath)Microsoft.NET.StringTools.dll vs.file.ngenArchitecture=all - file source=$(TaskHostBinPath)Microsoft.NET.StringTools.net35.dll vs.file.ngenArchitecture=all + file source=$(X86BinPath)System.Numerics.Vectors.dll + file source=$(X86BinPath)System.Resources.Extensions.dll + file source=$(X86BinPath)System.Runtime.CompilerServices.Unsafe.dll + file source=$(X86BinPath)System.Threading.Tasks.Dataflow.dll + file source=$(X86BinPath)System.Collections.Immutable.dll + file source=$(X86BinPath)Microsoft.NET.StringTools.dll + file source=$(TaskHostBinPath)Microsoft.NET.StringTools.net35.dll file source=$(X86BinPath)Microsoft.Common.CurrentVersion.targets file source=$(X86BinPath)Microsoft.Common.CrossTargeting.targets file source=$(X86BinPath)Microsoft.Common.overridetasks From 741c9474616098a399629f9a2d372999811062c4 Mon Sep 17 00:00:00 2001 From: Rainer Sigwald Date: Thu, 23 Jan 2025 10:48:05 -0600 Subject: [PATCH 2/2] Revert IO.Redist change It caused confusing problems that we should chase down, but not necessarily right now. --- src/Package/MSBuild.VSSetup/files.swr | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Package/MSBuild.VSSetup/files.swr b/src/Package/MSBuild.VSSetup/files.swr index 4fca187cc6a..3b4fbd1eee9 100644 --- a/src/Package/MSBuild.VSSetup/files.swr +++ b/src/Package/MSBuild.VSSetup/files.swr @@ -194,7 +194,7 @@ folder InstallDir:\MSBuild\Current\Bin\amd64 file source=$(X86BinPath)System.Reflection.MetadataLoadContext.dll file source=$(X86BinPath)System.Text.Json.dll file source=$(X86BinPath)Microsoft.Bcl.AsyncInterfaces.dll - file source=$(X86BinPath)Microsoft.IO.Redist.dll + file source=$(X86BinPath)Microsoft.IO.Redist.dll vs.file.ngenArchitecture=all file source=$(X86BinPath)System.Text.Encodings.Web.dll file source=$(X86BinPath)System.Threading.Tasks.Extensions.dll file source=$(X86BinPath)System.ValueTuple.dll