diff --git a/src/Controls/src/Core/Hosting/AppHostBuilderExtensions.cs b/src/Controls/src/Core/Hosting/AppHostBuilderExtensions.cs index cb496527128f..a80b05204763 100644 --- a/src/Controls/src/Core/Hosting/AppHostBuilderExtensions.cs +++ b/src/Controls/src/Core/Hosting/AppHostBuilderExtensions.cs @@ -120,9 +120,20 @@ internal static IMauiHandlersCollection AddControlsHandlers(this IMauiHandlersCo handlersCollection.AddHandler(); handlersCollection.AddHandler(); handlersCollection.AddHandler(); + const string hybridWebViewDynamicFeatures = "HybridWebView uses dynamic System.Text.Json serialization features."; if (RuntimeFeature.IsHybridWebViewSupported) { - // NOTE: not registered under NativeAOT or TrimMode=Full scenarios + // Keep the RequiresDynamicCode path isolated under the HybridWebView feature switch + // so NativeAOT/full-trim apps don't pick up HybridWebView warnings just by + // evaluating the default handler registration list. + AddHybridWebViewHandler(handlersCollection); + } +#if !NETSTANDARD + [RequiresDynamicCode(hybridWebViewDynamicFeatures)] +#endif + [RequiresUnreferencedCode(hybridWebViewDynamicFeatures)] + static void AddHybridWebViewHandler(IMauiHandlersCollection handlersCollection) + { handlersCollection.AddHandler(); }