Skip to content

[main] Update dependencies from dotnet/dotnet#10944

Merged
jonathanpeppers merged 7 commits intomainfrom
darc-main-c1746bcd-3494-4568-b699-228ffb8f57ce
Mar 17, 2026
Merged

[main] Update dependencies from dotnet/dotnet#10944
jonathanpeppers merged 7 commits intomainfrom
darc-main-c1746bcd-3494-4568-b699-228ffb8f57ce

Conversation

@dotnet-maestro
Copy link
Copy Markdown
Contributor

This pull request updates the following dependencies

From https://github.com/dotnet/dotnet

…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
jonathanpeppers and others added 6 commits March 16, 2026 09:28
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 jonathanpeppers merged commit 287f27d into main Mar 17, 2026
6 checks passed
@jonathanpeppers jonathanpeppers deleted the darc-main-c1746bcd-3494-4568-b699-228ffb8f57ce branch March 17, 2026 00:19
@jonathanpeppers jonathanpeppers added the copilot `copilot-cli` or other AIs were used to author this label Mar 17, 2026
@github-actions github-actions Bot locked and limited conversation to collaborators Apr 16, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

copilot `copilot-cli` or other AIs were used to author this

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant