[Hot Reload] Parameterize DotNetWatchHotReload test and remove Mono STARTUP_HOOKS workaround#11240
Open
jonathanpeppers wants to merge 2 commits intomainfrom
Open
[Hot Reload] Parameterize DotNetWatchHotReload test and remove Mono STARTUP_HOOKS workaround#11240jonathanpeppers wants to merge 2 commits intomainfrom
jonathanpeppers wants to merge 2 commits intomainfrom
Conversation
…TARTUP_HOOKS workaround Parameterize the `DotNetWatchHotReload` device test for both MonoVM and CoreCLR runtimes instead of hardcoding MonoVM. Remove the `RuntimeHostConfigurationOption` workaround for `STARTUP_HOOKS` in `HotReload.targets` that was needed because Mono was not reading `DOTNET_STARTUP_HOOKS` from the environment. This was fixed upstream in dotnet/runtime: dotnet/runtime@c8e2a61 The fix is included in our pinned dotnet/dotnet at: dotnet/dotnet@ab01524 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates Hot Reload support to align with recent upstream runtime behavior and broadens device integration coverage across runtimes.
Changes:
- Parameterizes the
DotNetWatchHotReloadMSBuild device integration test to run for bothAndroidRuntime.MonoVMandAndroidRuntime.CoreCLR. - Removes the Mono-specific
RuntimeHostConfigurationOption(STARTUP_HOOKS) workaround fromMicrosoft.Android.Sdk.HotReload.targets, relying on the runtime fix forDOTNET_STARTUP_HOOKS.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| tests/MSBuildDeviceIntegration/Tests/InstallAndRunTests.cs | Runs the Hot Reload dotnet watch device test for both MonoVM and CoreCLR. |
| src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.HotReload.targets | Removes the legacy Mono STARTUP_HOOKS workaround now that the runtime reads DOTNET_STARTUP_HOOKS. |
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Member
Author
simonrozsival
approved these changes
Apr 29, 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.

Summary
Two related Hot Reload improvements:
Parameterize
DotNetWatchHotReloadtest for bothMonoVMandCoreCLRruntimes instead of hardcodingMonoVM.Remove the
RuntimeHostConfigurationOptionworkaround forSTARTUP_HOOKSinHotReload.targets. This workaround was needed because Mono was not readingDOTNET_STARTUP_HOOKSfrom the environment. The upstream fix is now included in our pinned dotnet/dotnet: