From fbc8475882183cef0634fee68aaa8c5cc35635ba Mon Sep 17 00:00:00 2001 From: David Kossoglyad Date: Sun, 18 Sep 2022 13:16:12 +0300 Subject: [PATCH 1/6] feat: create WinUI 3 platform implementation --- .../src/CommonProperties.cs | 11 ++++- src/LogoFX.Client.Core.Platform/src/Consts.cs | 10 +++- .../src/PlatformDispatch.cs | 47 +++++++++++++++---- .../LogoFX.Client.Core.Platform.WinUI3.csproj | 29 ++++++++++++ src/LogoFX.Core.sln | 19 ++++++++ 5 files changed, 104 insertions(+), 12 deletions(-) create mode 100644 src/LogoFX.Client.Core.Platform/winui3/LogoFX.Client.Core.Platform.WinUI3.csproj diff --git a/src/LogoFX.Client.Core.Platform/src/CommonProperties.cs b/src/LogoFX.Client.Core.Platform/src/CommonProperties.cs index c1a6e50..aa3f671 100644 --- a/src/LogoFX.Client.Core.Platform/src/CommonProperties.cs +++ b/src/LogoFX.Client.Core.Platform/src/CommonProperties.cs @@ -1,7 +1,14 @@ -#if NET || NETCORE + +#if (NET || NETCORE) && !WINUI3 using System.Windows; #endif + +using System.Diagnostics.CodeAnalysis; +#if WINUI3 +using Microsoft.UI.Xaml; +#endif + namespace LogoFX.Client.Core { /// @@ -14,6 +21,7 @@ public class CommonProperties /// /// /// + [SuppressMessage("ReSharper", "UnusedMember.Global")] public static DependencyObject GetOwner(DependencyObject obj) { return (DependencyObject)obj.GetValue(OwnerProperty); @@ -24,6 +32,7 @@ public static DependencyObject GetOwner(DependencyObject obj) /// /// /// + [SuppressMessage("ReSharper", "UnusedMember.Global")] public static void SetOwner(DependencyObject obj, DependencyObject value) { obj.SetValue(OwnerProperty, value); diff --git a/src/LogoFX.Client.Core.Platform/src/Consts.cs b/src/LogoFX.Client.Core.Platform/src/Consts.cs index c755d8c..2ede760 100644 --- a/src/LogoFX.Client.Core.Platform/src/Consts.cs +++ b/src/LogoFX.Client.Core.Platform/src/Consts.cs @@ -1,14 +1,22 @@ -namespace LogoFX.Client.Core +using System.Diagnostics.CodeAnalysis; + +namespace LogoFX.Client.Core { /// /// Dispatcher-related constants. /// + [SuppressMessage("ReSharper", "IdentifierTypo")] public static class Consts { /// /// The dispatcher priority /// +#if !WINUI3 public const System.Windows.Threading.DispatcherPriority DispatcherPriority = System.Windows.Threading.DispatcherPriority.DataBind; +#else + public const Microsoft.UI.Dispatching.DispatcherQueuePriority + DispatcherPriority = Microsoft.UI.Dispatching.DispatcherQueuePriority.Normal; +#endif } } diff --git a/src/LogoFX.Client.Core.Platform/src/PlatformDispatch.cs b/src/LogoFX.Client.Core.Platform/src/PlatformDispatch.cs index eb688e2..1051e6f 100644 --- a/src/LogoFX.Client.Core.Platform/src/PlatformDispatch.cs +++ b/src/LogoFX.Client.Core.Platform/src/PlatformDispatch.cs @@ -1,16 +1,28 @@ -using System.Windows.Threading; +using System.Diagnostics.CodeAnalysis; using LogoFX.Client.Core; +#if !WINUI3 +using System.Windows.Threading; +#endif + +#if WINUI3 +using Microsoft.UI.Dispatching; +#endif + // ReSharper disable once CheckNamespace namespace System.Threading { /// /// Platform-specific dispatcher /// + [SuppressMessage("ReSharper", "UnusedMember.Global")] public class PlatformDispatch : IDispatch { - private Action _dispatch; - +#if !WINUI3 + private Action _dispatch; +#else + private Action _dispatch; +#endif private void EnsureDispatch() { if (_dispatch == null) @@ -24,19 +36,34 @@ private void EnsureDispatch() /// public void InitializeDispatch() { - var dispatcher = Dispatcher.CurrentDispatcher; + var dispatcher +#if !WINUI3 + = Dispatcher.CurrentDispatcher; +#else + = DispatcherQueue.GetForCurrentThread(); +#endif if (dispatcher == null) throw new InvalidOperationException("Dispatch is not initialized correctly"); - _dispatch = (action, @async, priority) => + _dispatch = (action, async, priority) => { - if (!@async && dispatcher.CheckAccess()) + if (!async && +#if !WINUI3 + dispatcher.CheckAccess(); +#else + dispatcher.HasThreadAccess +#endif + ) { action(); } else { - dispatcher.BeginInvoke(action, priority); - } +#if !WINUI3 + dispatcher.TryEnqueue(action, priority); +#else + dispatcher.TryEnqueue(priority, () => action()); +#endif + } }; } @@ -52,7 +79,7 @@ public void BeginOnUiThread(Action action) /// Desired priority /// Action public void BeginOnUiThread( - DispatcherPriority priority, Action action) + DispatcherQueuePriority priority, Action action) { EnsureDispatch(); _dispatch(action, true, priority); @@ -70,7 +97,7 @@ public void OnUiThread(Action action) /// Desired priority /// Action public void OnUiThread( - DispatcherPriority priority, Action action) + DispatcherQueuePriority priority, Action action) { EnsureDispatch(); _dispatch(action, false, priority); diff --git a/src/LogoFX.Client.Core.Platform/winui3/LogoFX.Client.Core.Platform.WinUI3.csproj b/src/LogoFX.Client.Core.Platform/winui3/LogoFX.Client.Core.Platform.WinUI3.csproj new file mode 100644 index 0000000..e8a173d --- /dev/null +++ b/src/LogoFX.Client.Core.Platform/winui3/LogoFX.Client.Core.Platform.WinUI3.csproj @@ -0,0 +1,29 @@ + + + net6.0-windows10.0.19041.0 + 10.0.17763.0 + LogoFX.Client.Core.Platform.WinUI3 + win10-x86;win10-x64;win10-arm64 + true + + + TRACE;WINUI3 + + + TRACE;WINUI3 + + + + + + + + + + + + + + + + diff --git a/src/LogoFX.Core.sln b/src/LogoFX.Core.sln index 7fd30b0..30b38e6 100644 --- a/src/LogoFX.Core.sln +++ b/src/LogoFX.Core.sln @@ -53,6 +53,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LogoFX.Core.Specs", "LogoFX EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LogoFX.Core.Specs.Common", "LogoFX.Core.Specs.Common\LogoFX.Core.Specs.Common.csproj", "{C2C89A94-96B9-43DA-841C-3F78ED059DDF}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LogoFX.Client.Core.Platform.WinUI3", "LogoFX.Client.Core.Platform\winui3\LogoFX.Client.Core.Platform.WinUI3.csproj", "{74DFE24B-28FA-48B8-818D-9671F05EBFE2}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -401,6 +403,22 @@ Global {C2C89A94-96B9-43DA-841C-3F78ED059DDF}.Release|x64.Build.0 = Release|Any CPU {C2C89A94-96B9-43DA-841C-3F78ED059DDF}.Release|x86.ActiveCfg = Release|Any CPU {C2C89A94-96B9-43DA-841C-3F78ED059DDF}.Release|x86.Build.0 = Release|Any CPU + {74DFE24B-28FA-48B8-818D-9671F05EBFE2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {74DFE24B-28FA-48B8-818D-9671F05EBFE2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {74DFE24B-28FA-48B8-818D-9671F05EBFE2}.Debug|ARM.ActiveCfg = Debug|Any CPU + {74DFE24B-28FA-48B8-818D-9671F05EBFE2}.Debug|ARM.Build.0 = Debug|Any CPU + {74DFE24B-28FA-48B8-818D-9671F05EBFE2}.Debug|x64.ActiveCfg = Debug|Any CPU + {74DFE24B-28FA-48B8-818D-9671F05EBFE2}.Debug|x64.Build.0 = Debug|Any CPU + {74DFE24B-28FA-48B8-818D-9671F05EBFE2}.Debug|x86.ActiveCfg = Debug|Any CPU + {74DFE24B-28FA-48B8-818D-9671F05EBFE2}.Debug|x86.Build.0 = Debug|Any CPU + {74DFE24B-28FA-48B8-818D-9671F05EBFE2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {74DFE24B-28FA-48B8-818D-9671F05EBFE2}.Release|Any CPU.Build.0 = Release|Any CPU + {74DFE24B-28FA-48B8-818D-9671F05EBFE2}.Release|ARM.ActiveCfg = Release|Any CPU + {74DFE24B-28FA-48B8-818D-9671F05EBFE2}.Release|ARM.Build.0 = Release|Any CPU + {74DFE24B-28FA-48B8-818D-9671F05EBFE2}.Release|x64.ActiveCfg = Release|Any CPU + {74DFE24B-28FA-48B8-818D-9671F05EBFE2}.Release|x64.Build.0 = Release|Any CPU + {74DFE24B-28FA-48B8-818D-9671F05EBFE2}.Release|x86.ActiveCfg = Release|Any CPU + {74DFE24B-28FA-48B8-818D-9671F05EBFE2}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -427,6 +445,7 @@ Global {728663E9-62A0-4482-8F0A-832699835760} = {F555D153-CB40-4452-B5E4-E9731566272E} {DF5B56B9-783A-457F-B8E1-EEA9EE033E91} = {F555D153-CB40-4452-B5E4-E9731566272E} {C2C89A94-96B9-43DA-841C-3F78ED059DDF} = {F555D153-CB40-4452-B5E4-E9731566272E} + {74DFE24B-28FA-48B8-818D-9671F05EBFE2} = {F555D153-CB40-4452-B5E4-E9731566272E} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {AC15861E-3935-4FBC-AA56-C0C4CFF71FC3} From 5bf73b8cef95868c9332648f2c1a308bc7422901 Mon Sep 17 00:00:00 2001 From: David Kossoglyad Date: Sun, 18 Sep 2022 14:51:24 +0300 Subject: [PATCH 2/6] fix(platform-dispatch): use proper namespaces per platforms --- .../src/PlatformDispatch.cs | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/LogoFX.Client.Core.Platform/src/PlatformDispatch.cs b/src/LogoFX.Client.Core.Platform/src/PlatformDispatch.cs index 1051e6f..3f5a530 100644 --- a/src/LogoFX.Client.Core.Platform/src/PlatformDispatch.cs +++ b/src/LogoFX.Client.Core.Platform/src/PlatformDispatch.cs @@ -48,7 +48,7 @@ var dispatcher { if (!async && #if !WINUI3 - dispatcher.CheckAccess(); + dispatcher.CheckAccess() #else dispatcher.HasThreadAccess #endif @@ -59,7 +59,7 @@ var dispatcher else { #if !WINUI3 - dispatcher.TryEnqueue(action, priority); + dispatcher.BeginInvoke(action, priority); #else dispatcher.TryEnqueue(priority, () => action()); #endif @@ -79,7 +79,12 @@ public void BeginOnUiThread(Action action) /// Desired priority /// Action public void BeginOnUiThread( - DispatcherQueuePriority priority, Action action) +#if !WINUI3 + DispatcherPriority priority, +#else + DispatcherQueuePriority priority, +#endif + Action action) { EnsureDispatch(); _dispatch(action, true, priority); @@ -97,7 +102,12 @@ public void OnUiThread(Action action) /// Desired priority /// Action public void OnUiThread( - DispatcherQueuePriority priority, Action action) +#if !WINUI3 + DispatcherPriority priority, +#else + DispatcherQueuePriority priority, +#endif + Action action) { EnsureDispatch(); _dispatch(action, false, priority); From a7aec5395fabc19aff2400ec0fb86a342fcd7529 Mon Sep 17 00:00:00 2001 From: David Kossoglyad Date: Sun, 18 Sep 2022 15:03:58 +0300 Subject: [PATCH 3/6] fix: remove redundant line --- src/LogoFX.Client.Core.Platform/src/CommonProperties.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/LogoFX.Client.Core.Platform/src/CommonProperties.cs b/src/LogoFX.Client.Core.Platform/src/CommonProperties.cs index aa3f671..945670a 100644 --- a/src/LogoFX.Client.Core.Platform/src/CommonProperties.cs +++ b/src/LogoFX.Client.Core.Platform/src/CommonProperties.cs @@ -3,7 +3,6 @@ using System.Windows; #endif - using System.Diagnostics.CodeAnalysis; #if WINUI3 using Microsoft.UI.Xaml; From cc72fdf58f8920f16b8d1bea200d8b62c195a794 Mon Sep 17 00:00:00 2001 From: David Kossoglyad Date: Mon, 19 Sep 2022 16:17:40 +0300 Subject: [PATCH 4/6] fix: code style issues BTW, code format is done PR: #11 --- .../src/CommonProperties.cs | 30 ++++----- src/LogoFX.Client.Core.Platform/src/Consts.cs | 10 +-- .../src/PlatformDispatch.cs | 64 +++++++++---------- .../LogoFX.Client.Core.Platform.WinUI3.csproj | 3 +- 4 files changed, 51 insertions(+), 56 deletions(-) diff --git a/src/LogoFX.Client.Core.Platform/src/CommonProperties.cs b/src/LogoFX.Client.Core.Platform/src/CommonProperties.cs index 945670a..f689544 100644 --- a/src/LogoFX.Client.Core.Platform/src/CommonProperties.cs +++ b/src/LogoFX.Client.Core.Platform/src/CommonProperties.cs @@ -1,13 +1,11 @@ - -#if (NET || NETCORE) && !WINUI3 -using System.Windows; -#endif - -using System.Diagnostics.CodeAnalysis; +using System.Diagnostics.CodeAnalysis; #if WINUI3 using Microsoft.UI.Xaml; +#else +using System.Windows; #endif + namespace LogoFX.Client.Core { /// @@ -21,10 +19,8 @@ public class CommonProperties /// /// [SuppressMessage("ReSharper", "UnusedMember.Global")] - public static DependencyObject GetOwner(DependencyObject obj) - { - return (DependencyObject)obj.GetValue(OwnerProperty); - } + public static DependencyObject GetOwner(DependencyObject obj) + => (DependencyObject)obj.GetValue(OwnerProperty); /// /// Sets the owner value @@ -32,16 +28,18 @@ public static DependencyObject GetOwner(DependencyObject obj) /// /// [SuppressMessage("ReSharper", "UnusedMember.Global")] - public static void SetOwner(DependencyObject obj, DependencyObject value) - { - obj.SetValue(OwnerProperty, value); - } - + public static void SetOwner(DependencyObject obj, DependencyObject value) + => obj.SetValue(OwnerProperty, value); + // Using a DependencyProperty as the backing store for Owner. This enables animation, styling, binding, etc... /// /// Owner which is usually the parent. /// public static readonly DependencyProperty OwnerProperty = - DependencyProperty.RegisterAttached("Owner", typeof(DependencyObject), typeof(CommonProperties), new PropertyMetadata(null)); + DependencyProperty.RegisterAttached( + "Owner", + typeof(DependencyObject), + typeof(CommonProperties), + new PropertyMetadata(null)); } } diff --git a/src/LogoFX.Client.Core.Platform/src/Consts.cs b/src/LogoFX.Client.Core.Platform/src/Consts.cs index 2ede760..439309c 100644 --- a/src/LogoFX.Client.Core.Platform/src/Consts.cs +++ b/src/LogoFX.Client.Core.Platform/src/Consts.cs @@ -11,12 +11,12 @@ public static class Consts /// /// The dispatcher priority /// -#if !WINUI3 - public const System.Windows.Threading.DispatcherPriority - DispatcherPriority = System.Windows.Threading.DispatcherPriority.DataBind; +#if WINUI3 + public const Microsoft.UI.Dispatching.DispatcherQueuePriority DispatcherPriority + = Microsoft.UI.Dispatching.DispatcherQueuePriority.Normal; #else - public const Microsoft.UI.Dispatching.DispatcherQueuePriority - DispatcherPriority = Microsoft.UI.Dispatching.DispatcherQueuePriority.Normal; + public const System.Windows.Threading.DispatcherPriority DispatcherPriority + = System.Windows.Threading.DispatcherPriority.DataBind; #endif } } diff --git a/src/LogoFX.Client.Core.Platform/src/PlatformDispatch.cs b/src/LogoFX.Client.Core.Platform/src/PlatformDispatch.cs index 3f5a530..ef38804 100644 --- a/src/LogoFX.Client.Core.Platform/src/PlatformDispatch.cs +++ b/src/LogoFX.Client.Core.Platform/src/PlatformDispatch.cs @@ -1,13 +1,10 @@ using System.Diagnostics.CodeAnalysis; -using LogoFX.Client.Core; - -#if !WINUI3 -using System.Windows.Threading; -#endif - #if WINUI3 using Microsoft.UI.Dispatching; +#else +using System.Windows.Threading; #endif +using LogoFX.Client.Core; // ReSharper disable once CheckNamespace namespace System.Threading @@ -18,10 +15,10 @@ namespace System.Threading [SuppressMessage("ReSharper", "UnusedMember.Global")] public class PlatformDispatch : IDispatch { -#if !WINUI3 - private Action _dispatch; -#else +#if WINUI3 private Action _dispatch; +#else + private Action _dispatch; #endif private void EnsureDispatch() { @@ -37,20 +34,23 @@ private void EnsureDispatch() public void InitializeDispatch() { var dispatcher -#if !WINUI3 - = Dispatcher.CurrentDispatcher; -#else +#if WINUI3 = DispatcherQueue.GetForCurrentThread(); +#else + = Dispatcher.CurrentDispatcher; #endif - if (dispatcher == null) - throw new InvalidOperationException("Dispatch is not initialized correctly"); - _dispatch = (action, async, priority) => + if (dispatcher == null) + { + throw new InvalidOperationException("Dispatch is not initialized correctly"); + } + + _dispatch = (action, async, priority) => { if (!async && -#if !WINUI3 - dispatcher.CheckAccess() -#else +#if WINUI3 dispatcher.HasThreadAccess +#else + dispatcher.CheckAccess() #endif ) { @@ -58,10 +58,10 @@ var dispatcher } else { -#if !WINUI3 - dispatcher.BeginInvoke(action, priority); -#else +#if WINUI3 dispatcher.TryEnqueue(priority, () => action()); +#else + dispatcher.BeginInvoke(action, priority); #endif } }; @@ -69,9 +69,7 @@ var dispatcher /// public void BeginOnUiThread(Action action) - { - BeginOnUiThread(Consts.DispatcherPriority, action); - } + => BeginOnUiThread(Consts.DispatcherPriority, action); /// /// Begins the action on the UI thread according to the specified priority @@ -79,10 +77,10 @@ public void BeginOnUiThread(Action action) /// Desired priority /// Action public void BeginOnUiThread( -#if !WINUI3 - DispatcherPriority priority, -#else +#if WINUI3 DispatcherQueuePriority priority, +#else + DispatcherPriority priority, #endif Action action) { @@ -91,10 +89,8 @@ public void BeginOnUiThread( } /// - public void OnUiThread(Action action) - { - OnUiThread(Consts.DispatcherPriority, action); - } + public void OnUiThread(Action action) + => OnUiThread(Consts.DispatcherPriority, action); /// /// Executes the action on the UI thread according to the specified priority @@ -102,10 +98,10 @@ public void OnUiThread(Action action) /// Desired priority /// Action public void OnUiThread( -#if !WINUI3 - DispatcherPriority priority, -#else +#if WINUI3 DispatcherQueuePriority priority, +#else + DispatcherPriority priority, #endif Action action) { diff --git a/src/LogoFX.Client.Core.Platform/winui3/LogoFX.Client.Core.Platform.WinUI3.csproj b/src/LogoFX.Client.Core.Platform/winui3/LogoFX.Client.Core.Platform.WinUI3.csproj index e8a173d..59d0c9f 100644 --- a/src/LogoFX.Client.Core.Platform/winui3/LogoFX.Client.Core.Platform.WinUI3.csproj +++ b/src/LogoFX.Client.Core.Platform/winui3/LogoFX.Client.Core.Platform.WinUI3.csproj @@ -2,9 +2,10 @@ net6.0-windows10.0.19041.0 10.0.17763.0 - LogoFX.Client.Core.Platform.WinUI3 + LogoFX.Client.Core win10-x86;win10-x64;win10-arm64 true + LogoFX.Client.Core.Platform TRACE;WINUI3 From 2212ff231e8da78594eb8845b0f05e1a808fb7e9 Mon Sep 17 00:00:00 2001 From: David Kossoglyad Date: Mon, 19 Sep 2022 16:22:56 +0300 Subject: [PATCH 5/6] fix: remove redundant line --- src/LogoFX.Client.Core.Platform/src/CommonProperties.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/LogoFX.Client.Core.Platform/src/CommonProperties.cs b/src/LogoFX.Client.Core.Platform/src/CommonProperties.cs index f689544..4034b60 100644 --- a/src/LogoFX.Client.Core.Platform/src/CommonProperties.cs +++ b/src/LogoFX.Client.Core.Platform/src/CommonProperties.cs @@ -5,7 +5,6 @@ using System.Windows; #endif - namespace LogoFX.Client.Core { /// From 9bb70839e4d7353f871020175c266c8a78df0e61 Mon Sep 17 00:00:00 2001 From: David Kossoglyad Date: Tue, 20 Sep 2022 01:44:13 +0300 Subject: [PATCH 6/6] chore: update dependencies --- ...ogoFX.Client.Core.Platform.NETCore.Specs.csproj | 14 +++++++------- .../android/Resources/Resource.Designer.cs | 2 +- .../LogoFX.Client.Core.Platform.WinUI3.csproj | 4 ++-- .../LogoFX.Client.Core.Specs.csproj | 14 +++++++------- .../LogoFX.Core.Specs.Common.csproj | 2 +- src/LogoFX.Core.Specs/LogoFX.Core.Specs.csproj | 14 +++++++------- src/LogoFX.Core.Tests/LogoFX.Core.Tests.csproj | 8 ++++---- .../LogoFX.Practices.IoC.Specs.csproj | 14 +++++++------- 8 files changed, 36 insertions(+), 36 deletions(-) diff --git a/src/LogoFX.Client.Core.Platform.NETCore.Specs/LogoFX.Client.Core.Platform.NETCore.Specs.csproj b/src/LogoFX.Client.Core.Platform.NETCore.Specs/LogoFX.Client.Core.Platform.NETCore.Specs.csproj index 4d9f5ff..2b1ed78 100644 --- a/src/LogoFX.Client.Core.Platform.NETCore.Specs/LogoFX.Client.Core.Platform.NETCore.Specs.csproj +++ b/src/LogoFX.Client.Core.Platform.NETCore.Specs/LogoFX.Client.Core.Platform.NETCore.Specs.csproj @@ -6,14 +6,14 @@ true - - - + + + - - - - + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/LogoFX.Client.Core.Platform/android/Resources/Resource.Designer.cs b/src/LogoFX.Client.Core.Platform/android/Resources/Resource.Designer.cs index 42b5827..023023b 100644 --- a/src/LogoFX.Client.Core.Platform/android/Resources/Resource.Designer.cs +++ b/src/LogoFX.Client.Core.Platform/android/Resources/Resource.Designer.cs @@ -14,7 +14,7 @@ namespace LogoFX.Client.Core { - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "12.1.0.11")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "13.0.0.73")] public partial class Resource { diff --git a/src/LogoFX.Client.Core.Platform/winui3/LogoFX.Client.Core.Platform.WinUI3.csproj b/src/LogoFX.Client.Core.Platform/winui3/LogoFX.Client.Core.Platform.WinUI3.csproj index 59d0c9f..77da867 100644 --- a/src/LogoFX.Client.Core.Platform/winui3/LogoFX.Client.Core.Platform.WinUI3.csproj +++ b/src/LogoFX.Client.Core.Platform/winui3/LogoFX.Client.Core.Platform.WinUI3.csproj @@ -20,8 +20,8 @@ - - + + diff --git a/src/LogoFX.Client.Core.Specs/LogoFX.Client.Core.Specs.csproj b/src/LogoFX.Client.Core.Specs/LogoFX.Client.Core.Specs.csproj index 16deff4..4e248cd 100644 --- a/src/LogoFX.Client.Core.Specs/LogoFX.Client.Core.Specs.csproj +++ b/src/LogoFX.Client.Core.Specs/LogoFX.Client.Core.Specs.csproj @@ -6,14 +6,14 @@ - - - + + + - - - - + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/LogoFX.Core.Specs.Common/LogoFX.Core.Specs.Common.csproj b/src/LogoFX.Core.Specs.Common/LogoFX.Core.Specs.Common.csproj index 993e718..d017f45 100644 --- a/src/LogoFX.Core.Specs.Common/LogoFX.Core.Specs.Common.csproj +++ b/src/LogoFX.Core.Specs.Common/LogoFX.Core.Specs.Common.csproj @@ -12,6 +12,6 @@ - + \ No newline at end of file diff --git a/src/LogoFX.Core.Specs/LogoFX.Core.Specs.csproj b/src/LogoFX.Core.Specs/LogoFX.Core.Specs.csproj index 77f2d0f..70bc57f 100644 --- a/src/LogoFX.Core.Specs/LogoFX.Core.Specs.csproj +++ b/src/LogoFX.Core.Specs/LogoFX.Core.Specs.csproj @@ -9,14 +9,14 @@ - - - + + + - - - - + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/LogoFX.Core.Tests/LogoFX.Core.Tests.csproj b/src/LogoFX.Core.Tests/LogoFX.Core.Tests.csproj index f9f0165..2e8d302 100644 --- a/src/LogoFX.Core.Tests/LogoFX.Core.Tests.csproj +++ b/src/LogoFX.Core.Tests/LogoFX.Core.Tests.csproj @@ -5,10 +5,10 @@ false - - - - + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/src/LogoFX.Practices.IoC.Specs/LogoFX.Practices.IoC.Specs.csproj b/src/LogoFX.Practices.IoC.Specs/LogoFX.Practices.IoC.Specs.csproj index 7a46210..739e32d 100644 --- a/src/LogoFX.Practices.IoC.Specs/LogoFX.Practices.IoC.Specs.csproj +++ b/src/LogoFX.Practices.IoC.Specs/LogoFX.Practices.IoC.Specs.csproj @@ -6,14 +6,14 @@ - - - + + + - - - - + + + + all runtime; build; native; contentfiles; analyzers