[main] Update dependencies from dotnet/dotnet#10944
Merged
jonathanpeppers merged 7 commits intomainfrom Mar 17, 2026
Merged
Conversation
…315.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
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>
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>
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>
TaskHostFactory alone preserves out-of-proc isolation (Windows file locking) without triggering the MetadataLoadContext code path that is broken in MSBuild 18+. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
TaskHostFactory without Runtime="NET" still infers .NET runtime on .NET Core MSBuild, triggering the same MetadataLoadContext bug. Must remove TaskHostFactory entirely - these tasks only shell out to git and don't need out-of-proc isolation. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The new MSBuild app host (dotnet/msbuild#13175) requires DOTNET_HOST_PATH to bootstrap the .NET runtime when spawning out-of-proc task hosts. Without this, tasks using TaskHostFactory (like ILLink's ComputeManagedAssemblies) fail with MSB4221 when using a locally-installed SDK. Set DOTNET_HOST_PATH in: - msbuild.mk: for all Makefile-driven builds - DotNetCLI.cs: for test-driven dotnet invocations [build] Remove unnecessary DOTNET_HOST_PATH from msbuild.mk The git prep tasks no longer use TaskHostFactory, so the Makefile doesn't need DOTNET_HOST_PATH. Only the test infrastructure needs it for ILLink's TaskHostFactory. [tests] Add comment explaining DOTNET_HOST_PATH workaround Co-Authored-By: Copilot <223556219+Copilot@users.noreply.github.com>
jonathanpeppers
approved these changes
Mar 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request updates the following dependencies
From https://github.com/dotnet/dotnet