diff --git a/.github/workflows/build_avalonia.yml b/.github/workflows/build_avalonia.yml index a12254c8f6..d790155c0b 100644 --- a/.github/workflows/build_avalonia.yml +++ b/.github/workflows/build_avalonia.yml @@ -23,3 +23,8 @@ jobs: with: name: Build Prism.Avalonia solution-path: PrismLibrary_Avalonia.slnf + dotnet-version: 9.0.302 + nugetFeedUrl: 'https://apinhousefeed.azurewebsites.net/v3/index.json' + secrets: + nugetUserName: ${{ secrets.IN_HOUSE_USER }} + nugetToken: ${{ secrets.IN_HOUSE_API_KEY }} diff --git a/.github/workflows/build_core.yml b/.github/workflows/build_core.yml index 6facbfa901..66a8a176ca 100644 --- a/.github/workflows/build_core.yml +++ b/.github/workflows/build_core.yml @@ -21,3 +21,7 @@ jobs: with: name: Build Prism.Core solution-path: PrismLibrary_Core.slnf + nugetFeedUrl: 'https://apinhousefeed.azurewebsites.net/v3/index.json' + secrets: + nugetUserName: ${{ secrets.IN_HOUSE_USER }} + nugetToken: ${{ secrets.IN_HOUSE_API_KEY }} diff --git a/.github/workflows/build_maui.yml b/.github/workflows/build_maui.yml index 80725015ac..74a051d1ea 100644 --- a/.github/workflows/build_maui.yml +++ b/.github/workflows/build_maui.yml @@ -25,3 +25,8 @@ jobs: name: Build Prism.Maui solution-path: PrismLibrary_Maui.slnf install-workload: maui maui-tizen + dotnet-version: 9.0.302 + nugetFeedUrl: 'https://apinhousefeed.azurewebsites.net/v3/index.json' + secrets: + nugetUserName: ${{ secrets.IN_HOUSE_USER }} + nugetToken: ${{ secrets.IN_HOUSE_API_KEY }} diff --git a/.github/workflows/build_uno.yml b/.github/workflows/build_uno.yml index 8fd3baae04..c7fd56953d 100644 --- a/.github/workflows/build_uno.yml +++ b/.github/workflows/build_uno.yml @@ -26,9 +26,13 @@ jobs: name: Build Prism.Uno solution-path: PrismLibrary_Uno.slnf windows-sdk-version: 18362 - dotnet-version: 8.0.300 + dotnet-version: 9.0.302 install-workload: ios android macos maccatalyst wasm-tools uno-check: false uno-check-version: 1.25.1 uno-check-parameters: '--skip xcode --skip gtk3 --skip vswin --skip androidemulator --skip androidsdk --skip vsmac --skip dotnetnewunotemplates' run-tests: false + nugetFeedUrl: 'https://apinhousefeed.azurewebsites.net/v3/index.json' + secrets: + nugetUserName: ${{ secrets.IN_HOUSE_USER }} + nugetToken: ${{ secrets.IN_HOUSE_API_KEY }} diff --git a/.github/workflows/build_wpf.yml b/.github/workflows/build_wpf.yml index 6da41c003b..3d468d222d 100644 --- a/.github/workflows/build_wpf.yml +++ b/.github/workflows/build_wpf.yml @@ -23,3 +23,7 @@ jobs: with: name: Build Prism.Wpf solution-path: PrismLibrary_Wpf.slnf + nugetFeedUrl: 'https://apinhousefeed.azurewebsites.net/v3/index.json' + secrets: + nugetUserName: ${{ secrets.IN_HOUSE_USER }} + nugetToken: ${{ secrets.IN_HOUSE_API_KEY }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d689bdc937..347911dba9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,7 +29,7 @@ jobs: with: name: Build Prism.Core solution-path: PrismLibrary_Core.slnf - code-sign: true + # code-sign: true artifact-name: Core secrets: codeSignKeyVault: ${{ secrets.CodeSignKeyVault }} @@ -43,7 +43,7 @@ jobs: with: name: Build Prism.Wpf solution-path: PrismLibrary_Wpf.slnf - code-sign: true + # code-sign: true artifact-name: Wpf secrets: codeSignKeyVault: ${{ secrets.CodeSignKeyVault }} @@ -58,13 +58,13 @@ jobs: name: Build Prism.Uno solution-path: PrismLibrary_Uno.slnf windows-sdk-version: 18362 - dotnet-version: 8.0.300 + dotnet-version: 9.0.302 install-workload: ios android macos maccatalyst wasm-tools uno-check: false uno-check-version: 1.24.0 uno-check-parameters: '--skip xcode --skip gtk3 --skip vswin --skip androidemulator --skip androidsdk --skip vsmac --skip dotnetnewunotemplates' run-tests: false - code-sign: true + # code-sign: true artifact-name: Uno secrets: codeSignKeyVault: ${{ secrets.CodeSignKeyVault }} @@ -79,7 +79,8 @@ jobs: name: Build Prism.Maui solution-path: PrismLibrary_Maui.slnf install-workload: maui maui-tizen - code-sign: true + dotnet-version: 9.0.302 + # code-sign: true artifact-name: Maui secrets: codeSignKeyVault: ${{ secrets.CodeSignKeyVault }} @@ -93,7 +94,8 @@ jobs: with: name: Build Prism.Avalonia solution-path: PrismLibrary_Avalonia.slnf - code-sign: true + dotnet-version: 9.0.302 + # code-sign: true artifact-name: Avalonia secrets: codeSignKeyVault: ${{ secrets.CodeSignKeyVault }} @@ -167,4 +169,4 @@ jobs: name: Deploy Commercial Plus secrets: feedUrl: ${{ secrets.PRISM_NUGET_FEED }} - apiKey: ${{ secrets.PRISM_NUGET_TOKEN }} \ No newline at end of file + apiKey: ${{ secrets.PRISM_NUGET_TOKEN }} diff --git a/Directory.Packages.props b/Directory.Packages.props index 8ba8643eee..b03b3c4113 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -1,17 +1,17 @@ - - - - + + + + - + - + - - - + + + - + - - + + - + - + - + - - + + @@ -96,7 +96,7 @@ - + diff --git a/e2e/Avalonia/PrismAvaloniaDemo/PrismAvaloniaDemo.csproj b/e2e/Avalonia/PrismAvaloniaDemo/PrismAvaloniaDemo.csproj index b90410dc08..7888de5068 100644 --- a/e2e/Avalonia/PrismAvaloniaDemo/PrismAvaloniaDemo.csproj +++ b/e2e/Avalonia/PrismAvaloniaDemo/PrismAvaloniaDemo.csproj @@ -1,7 +1,7 @@  WinExe - net8.0 + net9.0 latest enable true @@ -14,7 +14,6 @@ - diff --git a/e2e/Maui/MauiModule/MauiModule.csproj b/e2e/Maui/MauiModule/MauiModule.csproj index 17eebbf71a..c3d7494d18 100644 --- a/e2e/Maui/MauiModule/MauiModule.csproj +++ b/e2e/Maui/MauiModule/MauiModule.csproj @@ -1,7 +1,7 @@ - net8.0 + net9.0 false true diff --git a/e2e/Maui/MauiRegionsModule/MauiRegionsModule.csproj b/e2e/Maui/MauiRegionsModule/MauiRegionsModule.csproj index 17eebbf71a..c3d7494d18 100644 --- a/e2e/Maui/MauiRegionsModule/MauiRegionsModule.csproj +++ b/e2e/Maui/MauiRegionsModule/MauiRegionsModule.csproj @@ -1,7 +1,7 @@ - net8.0 + net9.0 false true diff --git a/e2e/Maui/PrismMauiDemo/PrismMauiDemo.csproj b/e2e/Maui/PrismMauiDemo/PrismMauiDemo.csproj index 4226d9a8ae..8047447cbd 100644 --- a/e2e/Maui/PrismMauiDemo/PrismMauiDemo.csproj +++ b/e2e/Maui/PrismMauiDemo/PrismMauiDemo.csproj @@ -1,8 +1,8 @@ - net8.0-android;net8.0-ios;net8.0-maccatalyst - $(TargetFrameworks);net8.0-windows10.0.19041 + net9.0-android;net9.0-ios;net9.0-maccatalyst + $(TargetFrameworks);net9.0-windows10.0.19041 Exe PrismMauiDemo true diff --git a/e2e/Wpf/HelloWorld.Bootstraper/HelloWorld.Bootstrapper.csproj b/e2e/Wpf/HelloWorld.Bootstraper/HelloWorld.Bootstrapper.csproj index 10de18462f..3b28c185cd 100644 --- a/e2e/Wpf/HelloWorld.Bootstraper/HelloWorld.Bootstrapper.csproj +++ b/e2e/Wpf/HelloWorld.Bootstraper/HelloWorld.Bootstrapper.csproj @@ -2,7 +2,7 @@ WinExe - net6.0-windows;net462 + net8.0-windows;net462 true HelloWorld ..\HelloWorld\prism-sandbox.ico diff --git a/e2e/Wpf/HelloWorld.Core/HelloWorld.Core.csproj b/e2e/Wpf/HelloWorld.Core/HelloWorld.Core.csproj index d5749ef11f..2905f09e69 100644 --- a/e2e/Wpf/HelloWorld.Core/HelloWorld.Core.csproj +++ b/e2e/Wpf/HelloWorld.Core/HelloWorld.Core.csproj @@ -1,7 +1,7 @@  - net6.0-windows;net462 + net8.0-windows;net462 true diff --git a/e2e/Wpf/HelloWorld/HelloWorld.csproj b/e2e/Wpf/HelloWorld/HelloWorld.csproj index da5afa4048..52ee2893be 100644 --- a/e2e/Wpf/HelloWorld/HelloWorld.csproj +++ b/e2e/Wpf/HelloWorld/HelloWorld.csproj @@ -2,7 +2,7 @@ WinExe - net6.0-windows;net462 + net8.0-windows;net462 true HelloWorld HelloWorld diff --git a/e2e/Wpf/Modules/HelloWorld.Modules.ModuleA/HelloWorld.Modules.ModuleA.csproj b/e2e/Wpf/Modules/HelloWorld.Modules.ModuleA/HelloWorld.Modules.ModuleA.csproj index 67471f38fd..c65b62cb51 100644 --- a/e2e/Wpf/Modules/HelloWorld.Modules.ModuleA/HelloWorld.Modules.ModuleA.csproj +++ b/e2e/Wpf/Modules/HelloWorld.Modules.ModuleA/HelloWorld.Modules.ModuleA.csproj @@ -1,7 +1,7 @@  - net6.0-windows;net462 + net8.0-windows;net462 true diff --git a/global.json b/global.json index b5b460407f..3dbb20500c 100644 --- a/global.json +++ b/global.json @@ -2,6 +2,6 @@ "msbuild-sdks": { "Microsoft.Build.NoTargets": "3.7.56", "MSBuild.Sdk.Extras": "3.0.44", - "Uno.Sdk": "5.3.31" + "Uno.Sdk": "6.1.23" } } diff --git a/src/Avalonia/Prism.Avalonia/Prism.Avalonia.csproj b/src/Avalonia/Prism.Avalonia/Prism.Avalonia.csproj index 5ada70059d..779bb1efe7 100644 --- a/src/Avalonia/Prism.Avalonia/Prism.Avalonia.csproj +++ b/src/Avalonia/Prism.Avalonia/Prism.Avalonia.csproj @@ -3,7 +3,7 @@ Properties Prism - net6.0;net7.0;net8.0 + net8.0;net9.0 Prism.Avalonia is a fully open source version of the Prism guidance originally produced by Microsoft Patterns & Practices. Prism.Avalonia provides an implementation of a collection of design patterns that are helpful in writing well structured, maintainable, and testable XAML applications, including MVVM, dependency injection, commanding, event aggregation, and more. Prism's core functionality is a shared library targeting the .NET Framework and .NET Standard. Features that need to be platform specific are implemented in the respective libraries for the target platform (Avalonia, WPF, Uno Platform, and Xamarin Forms). Prism.Avalonia helps you more easily design and build rich, flexible, and easy to maintain cross-platform Avalonia desktop applications. This library provides user interface composition as well as modularity support. @@ -37,7 +37,7 @@ Prism.Avalonia helps you more easily design and build rich, flexible, and easy t - + diff --git a/src/Avalonia/Prism.DryIoc.Avalonia/Prism.DryIoc.Avalonia.csproj b/src/Avalonia/Prism.DryIoc.Avalonia/Prism.DryIoc.Avalonia.csproj index 2f6b60c4a7..4e9f76d14d 100644 --- a/src/Avalonia/Prism.DryIoc.Avalonia/Prism.DryIoc.Avalonia.csproj +++ b/src/Avalonia/Prism.DryIoc.Avalonia/Prism.DryIoc.Avalonia.csproj @@ -1,8 +1,8 @@ - + Prism.DryIoc - net6.0;net7.0;net8.0 + net8.0;net9.0 This extension is used to build Prism.Avalonia applications based on DryIoc. Users must install the Prism.Avalonia NuGet package as well. Damian Suess, Suess Labs, various contributors Copyright (c) 2024 Xeno Innovations, Inc. diff --git a/src/Directory.Build.props b/src/Directory.Build.props index b43e833fa0..8ffd08e43f 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -12,7 +12,7 @@ - + $(DefineConstants);__WASM__ @@ -25,8 +25,8 @@ - net8.0;net8.0-android;net8.0-ios;net8.0-maccatalyst;net8.0-macos - $(UnoTargetFrameworks);net8.0-windows10.0.19041 + net9.0;net9.0-android;net9.0-ios;net9.0-maccatalyst;net9.0-macos + $(UnoTargetFrameworks);net9.0-windows10.0.19041 win-x64;win-x86;win-arm64 diff --git a/src/Maui/Prism.DryIoc.Maui/Prism.DryIoc.Maui.csproj b/src/Maui/Prism.DryIoc.Maui/Prism.DryIoc.Maui.csproj index 46086e22f1..a2c583add3 100644 --- a/src/Maui/Prism.DryIoc.Maui/Prism.DryIoc.Maui.csproj +++ b/src/Maui/Prism.DryIoc.Maui/Prism.DryIoc.Maui.csproj @@ -1,7 +1,7 @@ - + - net8.0 + net9.0 true true true diff --git a/src/Maui/Prism.Maui.Rx/Prism.Maui.Rx.csproj b/src/Maui/Prism.Maui.Rx/Prism.Maui.Rx.csproj index 1685fe7734..164ec6d586 100644 --- a/src/Maui/Prism.Maui.Rx/Prism.Maui.Rx.csproj +++ b/src/Maui/Prism.Maui.Rx/Prism.Maui.Rx.csproj @@ -1,7 +1,7 @@ - + - net8.0 + net9.0 true Prism.Maui.Rx is a support package for .NET MAUI developers. This package provides some helpers to access an IObservable for globally handling Navigation Request Results. true diff --git a/src/Maui/Prism.Maui/Prism.Maui.csproj b/src/Maui/Prism.Maui/Prism.Maui.csproj index d27c27cc50..0b65daf9e1 100644 --- a/src/Maui/Prism.Maui/Prism.Maui.csproj +++ b/src/Maui/Prism.Maui/Prism.Maui.csproj @@ -1,7 +1,7 @@ - + - net8.0;net8.0-android;net8.0-ios; + net9.0;net9.0-android;net9.0-ios; $(TargetFrameworks);net8.0-windows10.0.19041 Prism provides an implementation of a collection of design patterns that are helpful in writing well structured, maintainable, and testable XAML applications, including MVVM, dependency injection, commanding, event aggregation, and more. Prism's core functionality is a shared library targeting the .NET Framework and .NET. Features that need to be platform specific are implemented in the respective libraries for the target platform (WPF, Uno Platform, .NET MAUI and Xamarin Forms). diff --git a/src/Prism.Core/Commands/AsyncDelegateCommand.cs b/src/Prism.Core/Commands/AsyncDelegateCommand.cs index 8c7eec460f..5e693b2cbe 100644 --- a/src/Prism.Core/Commands/AsyncDelegateCommand.cs +++ b/src/Prism.Core/Commands/AsyncDelegateCommand.cs @@ -24,7 +24,7 @@ public class AsyncDelegateCommand : DelegateCommandBase, IAsyncCommand /// /// The to invoke when is called. public AsyncDelegateCommand(Func executeMethod) -#if NET6_0_OR_GREATER +#if NET8_0_OR_GREATER : this (c => executeMethod().WaitAsync(c), () => true) #else : this(c => executeMethod(), () => true) @@ -50,7 +50,7 @@ public AsyncDelegateCommand(Func executeMethod) /// The to invoke when is called. /// The delegate to invoke when is called public AsyncDelegateCommand(Func executeMethod, Func canExecuteMethod) -#if NET6_0_OR_GREATER +#if NET8_0_OR_GREATER : this(c => executeMethod().WaitAsync(c), canExecuteMethod) #else : this(c => executeMethod(), canExecuteMethod) diff --git a/src/Prism.Core/Commands/AsyncDelegateCommand{T}.cs b/src/Prism.Core/Commands/AsyncDelegateCommand{T}.cs index a449f5c67b..eea1cd7223 100644 --- a/src/Prism.Core/Commands/AsyncDelegateCommand{T}.cs +++ b/src/Prism.Core/Commands/AsyncDelegateCommand{T}.cs @@ -25,7 +25,7 @@ public class AsyncDelegateCommand : DelegateCommandBase, IAsyncCommand /// /// The to invoke when is called. public AsyncDelegateCommand(Func executeMethod) -#if NET6_0_OR_GREATER +#if NET8_0_OR_GREATER : this((p,t) => executeMethod(p).WaitAsync(t), _ => true) #else : this((p, t) => executeMethod(p), _ => true) @@ -51,7 +51,7 @@ public AsyncDelegateCommand(Func executeMethod) /// The to invoke when is called. /// The delegate to invoke when is called public AsyncDelegateCommand(Func executeMethod, Func canExecuteMethod) -#if NET6_0_OR_GREATER +#if NET8_0_OR_GREATER : this((p, c) => executeMethod(p).WaitAsync(c), canExecuteMethod) #else : this((p, c) => executeMethod(p), canExecuteMethod) diff --git a/src/Prism.Core/Common/MulticastExceptionHandler.cs b/src/Prism.Core/Common/MulticastExceptionHandler.cs index 8394ed59a1..2d0931e9ed 100644 --- a/src/Prism.Core/Common/MulticastExceptionHandler.cs +++ b/src/Prism.Core/Common/MulticastExceptionHandler.cs @@ -82,7 +82,7 @@ public async Task HandleAsync(Exception exception, object? parameter = null) { await task; } -#if NET6_0_OR_GREATER +#if NET8_0_OR_GREATER else if (result is ValueTask valueTask) { await valueTask; diff --git a/src/Prism.Core/Modularity/ModularityException.Desktop.cs b/src/Prism.Core/Modularity/ModularityException.Desktop.cs index 9020ae3592..007696449f 100644 --- a/src/Prism.Core/Modularity/ModularityException.Desktop.cs +++ b/src/Prism.Core/Modularity/ModularityException.Desktop.cs @@ -25,7 +25,7 @@ protected ModularityException(SerializationInfo info, StreamingContext context) /// /// The that holds the serialized object data about the exception being thrown. /// The that contains contextual information about the source or destination. -#if !NET6_0_OR_GREATER +#if !NET8_0_OR_GREATER [SecurityPermission(SecurityAction.Demand, Flags = SecurityPermissionFlag.SerializationFormatter)] #endif public override void GetObjectData(SerializationInfo info, StreamingContext context) diff --git a/src/Prism.Core/Prism.Core.csproj b/src/Prism.Core/Prism.Core.csproj index 4645786a66..baa89be0df 100644 --- a/src/Prism.Core/Prism.Core.csproj +++ b/src/Prism.Core/Prism.Core.csproj @@ -1,7 +1,7 @@  - netstandard2.0;net462;net47;net6.0 + netstandard2.0;net462;net47;net8.0 Prism Prism.Core Prism diff --git a/src/Prism.Events/Prism.Events.csproj b/src/Prism.Events/Prism.Events.csproj index 2411d17913..c1ec8f084e 100644 --- a/src/Prism.Events/Prism.Events.csproj +++ b/src/Prism.Events/Prism.Events.csproj @@ -1,7 +1,7 @@  - netstandard2.0;net462;net47;net6.0 + netstandard2.0;net462;net47;net8.0 Prism.Events is a library that facilitates communication between loosely coupled components in an application. It provides an event aggregator service that allows publishers and subscribers to interact through events without direct references. With multicast publish/subscribe functionality, multiple publishers can raise the same event, and multiple subscribers can listen to it, enabling flexible and efficient communication. diff --git a/src/Wpf/Prism.DryIoc.Wpf/Prism.DryIoc.Wpf.csproj b/src/Wpf/Prism.DryIoc.Wpf/Prism.DryIoc.Wpf.csproj index 3fdd5fdfe2..fb884bee49 100644 --- a/src/Wpf/Prism.DryIoc.Wpf/Prism.DryIoc.Wpf.csproj +++ b/src/Wpf/Prism.DryIoc.Wpf/Prism.DryIoc.Wpf.csproj @@ -2,7 +2,7 @@ - net462;net47;net6.0-windows + net462;net47;net8.0-windows true Prism.DryIoc Prism.DryIoc diff --git a/src/Wpf/Prism.Unity.Wpf/Prism.Unity.Wpf.csproj b/src/Wpf/Prism.Unity.Wpf/Prism.Unity.Wpf.csproj index 4e7f8a93e9..7ac1dd34fe 100644 --- a/src/Wpf/Prism.Unity.Wpf/Prism.Unity.Wpf.csproj +++ b/src/Wpf/Prism.Unity.Wpf/Prism.Unity.Wpf.csproj @@ -2,7 +2,7 @@ - net462;net47;net6.0-windows + net462;net47;net8.0-windows true Prism.Unity Prism.Unity diff --git a/src/Wpf/Prism.Wpf/Prism.Wpf.csproj b/src/Wpf/Prism.Wpf/Prism.Wpf.csproj index 3bb40f223a..a0874d9070 100644 --- a/src/Wpf/Prism.Wpf/Prism.Wpf.csproj +++ b/src/Wpf/Prism.Wpf/Prism.Wpf.csproj @@ -4,7 +4,7 @@ Properties Prism - net462;net47;net6.0-windows + net462;net47;net8.0-windows true Prism provides an implementation of a collection of design patterns that are helpful in writing well structured, maintainable, and testable XAML applications, including MVVM, dependency injection, commanding, event aggregation, and more. Prism's core functionality is a shared library targeting the .NET Framework and .NET. Features that need to be platform specific are implemented in the respective libraries for the target platform (WPF, Uno Platform, .NET MAUI and Xamarin Forms). diff --git a/tests/Maui/Prism.DryIoc.Maui.Tests/Prism.DryIoc.Maui.Tests.csproj b/tests/Maui/Prism.DryIoc.Maui.Tests/Prism.DryIoc.Maui.Tests.csproj index b699f1ef82..c13de03dea 100644 --- a/tests/Maui/Prism.DryIoc.Maui.Tests/Prism.DryIoc.Maui.Tests.csproj +++ b/tests/Maui/Prism.DryIoc.Maui.Tests/Prism.DryIoc.Maui.Tests.csproj @@ -1,7 +1,7 @@ - + - net8.0 + net9.0 diff --git a/tests/Maui/Prism.Maui.Tests/Prism.Maui.Tests.csproj b/tests/Maui/Prism.Maui.Tests/Prism.Maui.Tests.csproj index 321157cdfd..271f7256aa 100644 --- a/tests/Maui/Prism.Maui.Tests/Prism.Maui.Tests.csproj +++ b/tests/Maui/Prism.Maui.Tests/Prism.Maui.Tests.csproj @@ -1,7 +1,7 @@ - + - net8.0 + net9.0 diff --git a/tests/Prism.Core.Tests/Prism.Core.Tests.csproj b/tests/Prism.Core.Tests/Prism.Core.Tests.csproj index 0be9112c9f..b0f8de8514 100644 --- a/tests/Prism.Core.Tests/Prism.Core.Tests.csproj +++ b/tests/Prism.Core.Tests/Prism.Core.Tests.csproj @@ -1,7 +1,7 @@  - net6.0 + net8.0 false