From 4ca7ef70390375331f69c8d758e42cb0f507e19f Mon Sep 17 00:00:00 2001 From: Vatsa Shah Date: Fri, 19 Dec 2025 11:12:05 -0500 Subject: [PATCH 1/3] fix: suppress IL2026 trimming warnings for Uno.Extensions APIs --- .../unoapp/MyExtensionsApp.1/App.recommended.cs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/Uno.Templates/content/unoapp/MyExtensionsApp.1/App.recommended.cs b/src/Uno.Templates/content/unoapp/MyExtensionsApp.1/App.recommended.cs index fc5727e55..ef244a5df 100644 --- a/src/Uno.Templates/content/unoapp/MyExtensionsApp.1/App.recommended.cs +++ b/src/Uno.Templates/content/unoapp/MyExtensionsApp.1/App.recommended.cs @@ -114,12 +114,16 @@ protected async override void OnLaunched(LaunchActivatedEventArgs args) .UseConfiguration(configure: configBuilder => configBuilder .EmbeddedSource() +#pragma warning disable IL2026 // Suppress trimming warnings for Configuration extensions .Section() +#pragma warning restore IL2026 ) #endif #if useLocalization // Enable localization (see appsettings.json for supported languages) +#pragma warning disable IL2026 // Suppress trimming warnings for Localization extensions .UseLocalization() +#pragma warning restore IL2026 #endif #if (useServer && (useHttpKiota || useHttpRefit)) // Register Json serializers (ISerializer and ISerializer) @@ -206,9 +210,13 @@ protected async override void OnLaunched(LaunchActivatedEventArgs args) //services.AddSingleton(); }) #if (useReactiveExtensionsNavigation) +#pragma warning disable IL2026 // Suppress trimming warnings for Navigation extensions .UseNavigation(ReactiveViewModelMappings.ViewModelMappings, RegisterRoutes) +#pragma warning restore IL2026 #elif (useExtensionsNavigation) +#pragma warning disable IL2026 // Suppress trimming warnings for Navigation extensions .UseNavigation(RegisterRoutes) +#pragma warning restore IL2026 #endif ); MainWindow = builder.Window; @@ -222,7 +230,9 @@ protected async override void OnLaunched(LaunchActivatedEventArgs args) #if useFrameNav //-:cnd:noEmit +#pragma warning disable IL2026 // Suppress trimming warnings for IApplicationBuilder.Build Host = builder.Build(); +#pragma warning restore IL2026 // Do not repeat app initialization when the Window already has content, // just ensure that the window is active @@ -253,13 +263,16 @@ protected async override void OnLaunched(LaunchActivatedEventArgs args) //+:cnd:noEmit #elif (!useAuthentication) #if (!enableDeveloperMode) +#pragma warning disable IL2026 // Suppress trimming warnings for NavigateAsync Host = await builder.NavigateAsync(); +#pragma warning restore IL2026 #else $$EnableDeveloperMode_Region_Navigate$$ (); #endif #else #if (!enableDeveloperMode) +#pragma warning disable IL2026 // Suppress trimming warnings for NavigateAsync Host = await builder.NavigateAsync #else $$EnableDeveloperMode_Region_Navigate$$ @@ -277,6 +290,7 @@ protected async override void OnLaunched(LaunchActivatedEventArgs args) await navigator.NavigateViewModelAsync<$loginRouteViewModel$>(this, qualifier: Qualifiers.Nested); } }); +#pragma warning restore IL2026 #endif } #if (useExtensionsNavigation) From 7f6e96d45a659c76f0268fb8a6709de52b3dd065 Mon Sep 17 00:00:00 2001 From: Vatsa Shah Date: Fri, 19 Dec 2025 11:40:19 -0500 Subject: [PATCH 2/3] refactor: replace pragma directives with SuppressMessage attribute for IL2026 --- .../unoapp/MyExtensionsApp.1/App.recommended.cs | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/src/Uno.Templates/content/unoapp/MyExtensionsApp.1/App.recommended.cs b/src/Uno.Templates/content/unoapp/MyExtensionsApp.1/App.recommended.cs index ef244a5df..b9fe245e2 100644 --- a/src/Uno.Templates/content/unoapp/MyExtensionsApp.1/App.recommended.cs +++ b/src/Uno.Templates/content/unoapp/MyExtensionsApp.1/App.recommended.cs @@ -1,3 +1,4 @@ +using System.Diagnostics.CodeAnalysis; using Uno.Resizetizer; //-:cnd:noEmit @@ -19,8 +20,10 @@ public App() //+:cnd:noEmit #if useFrameNav + [SuppressMessage("Trimming", "IL2026:Members annotated with 'RequiresUnreferencedCodeAttribute' require dynamic access otherwise can break functionality when trimming application code", Justification = "Uno.Extensions APIs are used in a way that is safe for trimming in this template context.")] protected override void OnLaunched(LaunchActivatedEventArgs args) #else + [SuppressMessage("Trimming", "IL2026:Members annotated with 'RequiresUnreferencedCodeAttribute' require dynamic access otherwise can break functionality when trimming application code", Justification = "Uno.Extensions APIs are used in a way that is safe for trimming in this template context.")] protected async override void OnLaunched(LaunchActivatedEventArgs args) #endif { @@ -114,16 +117,12 @@ protected async override void OnLaunched(LaunchActivatedEventArgs args) .UseConfiguration(configure: configBuilder => configBuilder .EmbeddedSource() -#pragma warning disable IL2026 // Suppress trimming warnings for Configuration extensions .Section() -#pragma warning restore IL2026 ) #endif #if useLocalization // Enable localization (see appsettings.json for supported languages) -#pragma warning disable IL2026 // Suppress trimming warnings for Localization extensions .UseLocalization() -#pragma warning restore IL2026 #endif #if (useServer && (useHttpKiota || useHttpRefit)) // Register Json serializers (ISerializer and ISerializer) @@ -210,13 +209,9 @@ protected async override void OnLaunched(LaunchActivatedEventArgs args) //services.AddSingleton(); }) #if (useReactiveExtensionsNavigation) -#pragma warning disable IL2026 // Suppress trimming warnings for Navigation extensions .UseNavigation(ReactiveViewModelMappings.ViewModelMappings, RegisterRoutes) -#pragma warning restore IL2026 #elif (useExtensionsNavigation) -#pragma warning disable IL2026 // Suppress trimming warnings for Navigation extensions .UseNavigation(RegisterRoutes) -#pragma warning restore IL2026 #endif ); MainWindow = builder.Window; @@ -230,9 +225,7 @@ protected async override void OnLaunched(LaunchActivatedEventArgs args) #if useFrameNav //-:cnd:noEmit -#pragma warning disable IL2026 // Suppress trimming warnings for IApplicationBuilder.Build Host = builder.Build(); -#pragma warning restore IL2026 // Do not repeat app initialization when the Window already has content, // just ensure that the window is active @@ -263,16 +256,13 @@ protected async override void OnLaunched(LaunchActivatedEventArgs args) //+:cnd:noEmit #elif (!useAuthentication) #if (!enableDeveloperMode) -#pragma warning disable IL2026 // Suppress trimming warnings for NavigateAsync Host = await builder.NavigateAsync(); -#pragma warning restore IL2026 #else $$EnableDeveloperMode_Region_Navigate$$ (); #endif #else #if (!enableDeveloperMode) -#pragma warning disable IL2026 // Suppress trimming warnings for NavigateAsync Host = await builder.NavigateAsync #else $$EnableDeveloperMode_Region_Navigate$$ @@ -290,7 +280,6 @@ protected async override void OnLaunched(LaunchActivatedEventArgs args) await navigator.NavigateViewModelAsync<$loginRouteViewModel$>(this, qualifier: Qualifiers.Nested); } }); -#pragma warning restore IL2026 #endif } #if (useExtensionsNavigation) From 98a778864abdc592ea6e35e2eb01ef5358bac719 Mon Sep 17 00:00:00 2001 From: Vatsa Shah Date: Fri, 19 Dec 2025 12:06:29 -0500 Subject: [PATCH 3/3] chore: bump Uno.Extensions to 7.1.0-dev.62 --- src/Uno.Sdk/ReadMe.md | 4 ++-- src/Uno.Sdk/packages.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Uno.Sdk/ReadMe.md b/src/Uno.Sdk/ReadMe.md index ddda2a91c..4c43b711e 100644 --- a/src/Uno.Sdk/ReadMe.md +++ b/src/Uno.Sdk/ReadMe.md @@ -5,7 +5,7 @@ The Uno.Sdk powers the Uno Platform Single Project, including the ability to imp | MSBuild Property | Default Version | |----------------|:---------------:| | UnoVersion* | 6.5.0-dev.542 | -| UnoExtensionsVersion | 7.1.0-dev.59 | +| UnoExtensionsVersion | 7.1.0-dev.62 | | UnoToolkitVersion | 8.4.0-dev.19 | | UnoThemesVersion | 6.1.0-dev.4 | | UnoCSharpMarkupVersion | 6.5.0-dev.3 | @@ -355,7 +355,7 @@ The Uno.Sdk powers the Uno Platform Single Project, including the ability to imp }, { "group": "Extensions", - "version": "7.1.0-dev.59", + "version": "7.1.0-dev.62", "packages": [ "Uno.Extensions.Authentication.WinUI", "Uno.Extensions.Authentication.MSAL.WinUI", diff --git a/src/Uno.Sdk/packages.json b/src/Uno.Sdk/packages.json index 26f00d270..5c5e659e0 100644 --- a/src/Uno.Sdk/packages.json +++ b/src/Uno.Sdk/packages.json @@ -313,7 +313,7 @@ }, { "group": "Extensions", - "version": "7.1.0-dev.59", + "version": "7.1.0-dev.62", "packages": [ "Uno.Extensions.Authentication.WinUI", "Uno.Extensions.Authentication.MSAL.WinUI",