[automated] Merge branch 'release/10.0.4xx' => 'main'#54088
Merged
marcpopMSFT merged 7 commits intomainfrom Apr 28, 2026
Merged
[automated] Merge branch 'release/10.0.4xx' => 'main'#54088marcpopMSFT merged 7 commits intomainfrom
marcpopMSFT merged 7 commits intomainfrom
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…#54023) On iOS with CoreCLR, `UIKitSynchronizationContext` is installed before startup hooks run. `Listener.Listen()` calls `GetAwaiter().GetResult()` on the main thread, and await continuations try to post back to the blocked UI thread, causing a deadlock. Fix by adding `ConfigureAwait(false)` to awaits in the startup hook's call chain. On Android, just due to startup ordering the `SynchronizationContext` was not set. I didn't think of a way we could test this easily -- I basically built the dotnet/macios repo and copied dotnet-watch files on top to manually test. An end-to-end test in the dotnet/macios repo might be the best place. With these changes in place: ``` 2026-04-21 14:41:01.681990-0500 heyo[27489:980549] [HotReload] DOTNET_WATCH_HOTRELOAD_WEBSOCKET_ENDPOINT=ws://localhost:61875 2026-04-21 14:41:01.686900-0500 heyo[27489:980549] [HotReload] Connecting to Hot Reload server via WebSocket ws://localhost:61875. 2026-04-21 14:41:01.696114-0500 heyo[27489:980549] [HotReload] Connecting to ws://localhost:61875... dotnet watch 🔥 [heyo (net11.0-ios)] WebSocket client connected 2026-04-21 14:41:01.754571-0500 heyo[27489:980834] [HotReload] Connected. 2026-04-21 14:41:01.755569-0500 heyo[27489:980834] [HotReload] Sending InitializationResponse (247 bytes) dotnet watch 🔥 [heyo (net11.0-ios)] Capabilities: 'Baseline AddMethodToExistingType AddStaticFieldToExistingType AddInstanceFieldToExistingType NewTypeDefinition ChangeCustomAttributes UpdateParameters GenericUpdateMethod GenericAddMethodToExistingType GenericAddFieldToExistingType AddFieldRva AddExplicitInterfaceImplementation'. 2026-04-21 14:41:01.768519-0500 heyo[27489:980834] [HotReload] Received 1 bytes dotnet watch ⌚ Waiting for changes dotnet watch ⌚ File change: Update '/Users/jopeppers/src/heyo/SceneDelegate.cs'. dotnet watch ⌚ File updated: ./SceneDelegate.cs dotnet watch ⌚ Updating document text of '/Users/jopeppers/src/heyo/SceneDelegate.cs'. dotnet watch ⌚ Solution after document update: v2 dotnet watch 🔥 Hot reload capabilities: AddExplicitInterfaceImplementation AddFieldRva AddInstanceFieldToExistingType AddMethodToExistingType AddStaticFieldToExistingType Baseline ChangeCustomAttributes GenericAddFieldToExistingType GenericAddMethodToExistingType GenericUpdateMethod NewTypeDefinition UpdateParameters. dotnet watch 🔥 [heyo (net11.0-ios)] Sending update batch #0 2026-04-21 14:41:13.296225-0500 heyo[27489:980834] [HotReload] Received 5770 bytes 2026-04-21 14:41:13.338366-0500 heyo[27489:980834] [HotReload] Sending UpdateResponse (466 bytes) dotnet watch 🕵️ [heyo (net11.0-ios)] Writing capabilities: Baseline AddMethodToExistingType AddStaticFieldToExistingType AddInstanceFieldToExistingType NewTypeDefinition ChangeCustomAttributes UpdateParameters GenericUpdateMethod GenericAddMethodToExistingType GenericAddFieldToExistingType AddFieldRva dotnet watch 🕵️ [heyo (net11.0-ios)] Applying updates to module 24147f53-599d-4c51-872f-f2073583eddb. dotnet watch 🕵️ [heyo (net11.0-ios)] Invoking metadata update handlers. dotnet watch 🕵️ [heyo (net11.0-ios)] System.Reflection.Metadata.RuntimeTypeMetadataUpdateHandler.ClearCache dotnet watch 🕵️ [heyo (net11.0-ios)] Updates applied. dotnet watch 🔥 [heyo (net11.0-ios)] Update batch #0 completed. dotnet watch 🔥 C# and Razor changes applied in 567ms. ``` I can see it working on a net11.0-ios project in an iOS simulator: <img width="480" height="588" alt="image" src="https://github.com/user-attachments/assets/9e5944ff-db11-4912-ae4d-48b53190b1da" /> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Remove the net472 target from the Containers SDK (Microsoft.NET.Build.Containers), keeping only the .NET Core (SdkTargetFramework) target. The net472 build existed to support Visual Studio's Full-Framework MSBuild (MSBuildRuntimeType == Full). Now that VS uses .NET Runtime with HostObject support for container operations, the net472 target and all related infrastructure is no longer needed. Changes: - Remove net472 TFM from Microsoft.NET.Build.Containers.csproj - Delete CreateNewImageToolTask (ToolTask-based implementation) - Delete netframeworkDefinitions.cs (net472-only polyfills) - Remove ToolTask-related properties from targets/props - Remove net472 PublicAPI files - Delete FullFramework test suite (CreateNewImageToolTaskTests) - Exclude Containers from crossgenning in Crossgen.targets - Fix package.csproj: mark as non-shipping, update output paths Fixes: dotnet/msbuild#11333
Reset patterns: - global.json - NuGet.config - eng/Version.Details.xml - eng/Version.Details.props - eng/common/*
…se/10.0.4xx-to-main
jjonescz
approved these changes
Apr 28, 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.
I detected changes in the release/10.0.4xx branch which have not been merged yet to main. I'm a robot and am configured to help you automatically keep main up to date, so I've opened this PR.
This PR merges commits made on release/10.0.4xx by the following committers:
Instructions for merging from UI
This PR will not be auto-merged. When pull request checks pass, complete this PR by creating a merge commit, not a squash or rebase commit.
If this repo does not allow creating merge commits from the GitHub UI, use command line instructions.
Instructions for merging via command line
Run these commands to merge this pull request from the command line.
or if you are using SSH
After PR checks are complete push the branch
Instructions for resolving conflicts
Instructions for updating this pull request
Contributors to this repo have permission update this pull request by pushing to the branch 'merge/release/10.0.4xx-to-main'. This can be done to resolve conflicts or make other changes to this pull request before it is merged.
The provided examples assume that the remote is named 'origin'. If you have a different remote name, please replace 'origin' with the name of your remote.
or if you are using SSH
Contact .NET Core Engineering (dotnet/dnceng) if you have questions or issues.
Also, if this PR was generated incorrectly, help us fix it. See https://github.com/dotnet/arcade/blob/main/.github/workflows/scripts/inter-branch-merge.ps1.