From 433ff8ad793a3b23425d2a867f4306b80977ac71 Mon Sep 17 00:00:00 2001 From: "dotnet-maestro[bot]" Date: Mon, 16 Mar 2026 05:04:08 +0000 Subject: [PATCH 1/7] Update dependencies from https://github.com/dotnet/dotnet build 20260315.7 On relative base path root Microsoft.NET.Workload.Mono.ToolChain.Current.Manifest-11.0.100-preview.3 , Microsoft.NET.ILLink , Microsoft.NETCore.App.Ref From Version 11.0.0-preview.3.26157.103 -> To Version 11.0.0-preview.3.26165.107 Microsoft.DotNet.Build.Tasks.Feed From Version 11.0.0-beta.26157.103 -> To Version 11.0.0-beta.26165.107 Microsoft.DotNet.Cecil From Version 0.11.5-preview.26157.103 -> To Version 0.11.5-preview.26165.107 Microsoft.NET.Sdk , Microsoft.NET.Workload.Emscripten.Current.Manifest-11.0.100-preview.3 , Microsoft.TemplateEngine.Authoring.Tasks From Version 11.0.100-preview.3.26157.103 -> To Version 11.0.100-preview.3.26165.107 --- NuGet.config | 1 - eng/Version.Details.xml | 32 ++++++++++++++++---------------- eng/Versions.props | 16 ++++++++-------- 3 files changed, 24 insertions(+), 25 deletions(-) diff --git a/NuGet.config b/NuGet.config index 49a072a847f..dec1baffe92 100644 --- a/NuGet.config +++ b/NuGet.config @@ -8,7 +8,6 @@ - diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 35fa97a6855..9c22efe1715 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,28 +1,28 @@ - + https://github.com/dotnet/dotnet - ee56b9a0106c983775a0691bde4a4a988f4351d3 + 5ff448a6425ec6980e08b5c9a35e454c8a843c35 - + https://github.com/dotnet/dotnet - ee56b9a0106c983775a0691bde4a4a988f4351d3 + 5ff448a6425ec6980e08b5c9a35e454c8a843c35 - + https://github.com/dotnet/dotnet - ee56b9a0106c983775a0691bde4a4a988f4351d3 + 5ff448a6425ec6980e08b5c9a35e454c8a843c35 - + https://github.com/dotnet/dotnet - ee56b9a0106c983775a0691bde4a4a988f4351d3 + 5ff448a6425ec6980e08b5c9a35e454c8a843c35 - + https://github.com/dotnet/dotnet - ee56b9a0106c983775a0691bde4a4a988f4351d3 + 5ff448a6425ec6980e08b5c9a35e454c8a843c35 - + https://github.com/dotnet/dotnet - ee56b9a0106c983775a0691bde4a4a988f4351d3 + 5ff448a6425ec6980e08b5c9a35e454c8a843c35 @@ -36,13 +36,13 @@ - + https://github.com/dotnet/dotnet - ee56b9a0106c983775a0691bde4a4a988f4351d3 + 5ff448a6425ec6980e08b5c9a35e454c8a843c35 - + https://github.com/dotnet/dotnet - ee56b9a0106c983775a0691bde4a4a988f4351d3 + 5ff448a6425ec6980e08b5c9a35e454c8a843c35 diff --git a/eng/Versions.props b/eng/Versions.props index be91396aa21..36d64cc505f 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -1,20 +1,20 @@ - 11.0.100-preview.3.26157.103 + 11.0.100-preview.3.26165.107 $(MicrosoftNETSdkPackageVersion) - 11.0.0-preview.3.26157.103 - 11.0.0-preview.3.26157.103 + 11.0.0-preview.3.26165.107 + 11.0.0-preview.3.26165.107 7.0.0-beta.22103.1 11.0.0-beta.26060.102 - 11.0.0-beta.26157.103 - 11.0.0-preview.3.26157.103 - 11.0.100-preview.3.26157.103 + 11.0.0-beta.26165.107 + 11.0.0-preview.3.26165.107 + 11.0.100-preview.3.26165.107 $(MicrosoftNETWorkloadMonoToolChainCurrentManifest110100preview3PackageVersion) $(MicrosoftNETWorkloadEmscriptenCurrentManifest110100preview3PackageVersion) - 11.0.100-preview.3.26157.103 - 0.11.5-preview.26157.103 + 11.0.100-preview.3.26165.107 + 0.11.5-preview.26165.107 9.0.4 11.0.0-preview.1.26104.118 From c01a7b3de543fa5b18afee73f58aaa4d6fa39d21 Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Mon, 16 Mar 2026 09:28:13 -0500 Subject: [PATCH 2/7] [build] Set DOTNET_HOST_PATH for BuildExternal target MSBuild 18+ (dotnet/msbuild#13175) added app host support which changes how TaskHostFactory with Runtime="NET" resolves the MSBuild executable. When running from a local/xcopy SDK (bin/Release/dotnet), the task host resolution falls back to the global SDK path because DOTNET_HOST_PATH is not set, causing MSB4216. Set DOTNET_HOST_PATH to so the .NET 11 MSBuild task host can find the correct dotnet host. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- build-tools/scripts/DotNet.targets | 1 + 1 file changed, 1 insertion(+) diff --git a/build-tools/scripts/DotNet.targets b/build-tools/scripts/DotNet.targets index 10885cd529d..6368630eac0 100644 --- a/build-tools/scripts/DotNet.targets +++ b/build-tools/scripts/DotNet.targets @@ -13,6 +13,7 @@ From b4c055ffe8e358642f9692df1956b55aa98d81bc Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Mon, 16 Mar 2026 10:40:45 -0500 Subject: [PATCH 3/7] [build] Set DOTNET_HOST_PATH globally in Makefile The DotNet.targets fix only covered the inner dotnet build of monodroid.proj. The outer system dotnet (.NET 10) also evaluates XAVersionInfo.targets which uses TaskHostFactory Runtime="NET", triggering the same MSB4216 from the new MSBuild apphost code. Export DOTNET_HOST_PATH from msbuild.mk so all Make-invoked builds (both SYSTEM_DOTNET_BINLOG and DOTNET_BINLOG) see it. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- build-tools/scripts/msbuild.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/build-tools/scripts/msbuild.mk b/build-tools/scripts/msbuild.mk index bc9e989405f..dfd4f0a28b7 100644 --- a/build-tools/scripts/msbuild.mk +++ b/build-tools/scripts/msbuild.mk @@ -27,6 +27,7 @@ DOTNET_ROOT = $(topdir)/bin/$(CONFIGURATION)/dotnet/ DOTNET_TOOL = $(DOTNET_ROOT)dotnet DOTNET_VERB = build MSBUILD_FLAGS = /p:Configuration=$(CONFIGURATION) $(MSBUILD_ARGS) +export DOTNET_HOST_PATH = $(DOTNET_TOOL) ifeq ($(OS_NAME),Darwin) _PKG_CONFIG = /Library/Frameworks/Mono.framework/Commands/pkg-config From b07bf9fa51e78849c852af9180532c4bec85f18d Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Mon, 16 Mar 2026 11:35:38 -0500 Subject: [PATCH 4/7] [build] Remove TaskHostFactory from XAVersionInfo.targets MSBuild 18+ (dotnet/msbuild#13175) added app host support that changed how TaskHostFactory with Runtime="NET" spawns task host processes. The MetadataLoadContext used to inspect task assemblies is disposed before output validation completes, causing MSB4027/MSB4216 on macOS and Linux when running from a local/xcopy SDK. Remove TaskHostFactory and Runtime="NET" from the git prep task UsingTask declarations in XAVersionInfo.targets. These tasks only shell out to git and don't need out-of-proc isolation. Also revert the DOTNET_HOST_PATH workaround attempts in DotNet.targets and msbuild.mk which were insufficient (the issue is MetadataLoadContext lifecycle, not host path resolution). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- build-tools/scripts/DotNet.targets | 1 - build-tools/scripts/XAVersionInfo.targets | 17 +++++++++++------ build-tools/scripts/msbuild.mk | 1 - 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/build-tools/scripts/DotNet.targets b/build-tools/scripts/DotNet.targets index 6368630eac0..10885cd529d 100644 --- a/build-tools/scripts/DotNet.targets +++ b/build-tools/scripts/DotNet.targets @@ -13,7 +13,6 @@ diff --git a/build-tools/scripts/XAVersionInfo.targets b/build-tools/scripts/XAVersionInfo.targets index bfc6809bd32..cb7d285a914 100644 --- a/build-tools/scripts/XAVersionInfo.targets +++ b/build-tools/scripts/XAVersionInfo.targets @@ -1,11 +1,16 @@ - - - - - - + + + + + + + - - - - - - + with Runtime="NET" spawns .NET task hosts. The MetadataLoadContext used to inspect task + assemblies is disposed before output validation completes, causing MSB4027. Keeping + TaskHostFactory without Runtime="NET" preserves out-of-proc isolation (avoiding Windows + file locking) without triggering the broken code path. --> + + + + + + - - - - - - + spawns .NET task hosts. The MetadataLoadContext used to inspect task assemblies is disposed + before output validation completes, causing MSB4027. TaskHostFactory without Runtime="NET" + still infers .NET on .NET Core MSBuild, so it must be removed entirely. These tasks only + run git commands and don't need out-of-proc isolation. --> + + + + + +