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
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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