From fbe5fdd1aa113daeaf8a98d3eb86bfa9ee139cac Mon Sep 17 00:00:00 2001 From: Rolf Kristensen Date: Tue, 9 Jan 2024 20:55:54 +0100 Subject: [PATCH] Removed Xamarin-platforms and added NET7 and NET8 (#25) --- .gitignore | 2 + NLog.Targets.MauiLog.sln | 2 + README.md | 6 +-- appveyor.yml | 14 +++++-- examples/MauiApp2/MauiApp2.csproj | 27 ++++++++++---- examples/MauiApp2/ViewModel/MainViewModel.cs | 14 ++++++- global.json | 8 +--- .../Config/SetupBuilderExtensions.cs | 4 +- .../SetupExtensionsBuilderExtensions.cs | 2 +- .../NLog.Targets.MauiLog.csproj | 37 +++++++++---------- update-global-json.ps1 | 7 ++++ 11 files changed, 78 insertions(+), 45 deletions(-) create mode 100644 update-global-json.ps1 diff --git a/.gitignore b/.gitignore index dfcfd56..6c2bd2f 100644 --- a/.gitignore +++ b/.gitignore @@ -348,3 +348,5 @@ MigrationBackup/ # Ionide (cross platform F# VS Code tools) working folder .ionide/ + +.idea/ \ No newline at end of file diff --git a/NLog.Targets.MauiLog.sln b/NLog.Targets.MauiLog.sln index b37c22f..d37af04 100644 --- a/NLog.Targets.MauiLog.sln +++ b/NLog.Targets.MauiLog.sln @@ -5,9 +5,11 @@ VisualStudioVersion = 17.3.32804.467 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{EA9503EA-0938-497B-ACBF-5907B66D56A1}" ProjectSection(SolutionItems) = preProject + .gitignore = .gitignore appveyor.yml = appveyor.yml global.json = global.json README.md = README.md + update-global-json.ps1 = update-global-json.ps1 EndProjectSection EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NLog.Targets.MauiLog", "src\NLog.Targets.MauiLog\NLog.Targets.MauiLog.csproj", "{F7C81AB8-6833-449D-80E3-68CEC129E692}" diff --git a/README.md b/README.md index b2edb51..9c29bec 100644 --- a/README.md +++ b/README.md @@ -15,11 +15,11 @@ NLog Target for debugging on MAUI / Xamarin Mobile Platforms: - `Install-Package NLog.Targets.MauiLog` - `Install-Package NLog.Extensions.Logging` - or in your csproj: + or in your csproj (Use ver. 8 for NET8, and ver. 7 for NET7 etc.): ```xml - - + + ``` 2) **Add NLog to the MauiApp** diff --git a/appveyor.yml b/appveyor.yml index fcfa139..2af0a5e 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,12 +1,18 @@ -version: 5.0.0.{build} -image: Previous Visual Studio 2022 +version: 6.0.0.{build} +image: Visual Studio 2022 configuration: Release platform: Any CPU nuget: disable_publish_on_pr: true build_script: -- ps: dotnet workload install maui macos android ios maccatalyst -- ps: msbuild /t:restore,pack /p:Configuration=Release /p:IncludeSymbols=true /p:SymbolPackageFormat=snupkg /p:ContinuousIntegrationBuild=true /p:EmbedUntrackedSources=true /p:PublishRepositoryUrl=true /verbosity:minimal +- ps: dotnet tool install -g Redth.Net.Maui.Check +- ps: ./update-global-json.ps1 7.0.400 +- ps: msbuild src/NLog.Targets.MauiLog/NLog.Targets.MauiLog.csproj /t:restore,pack /p:targetFrameworks='"net7.0;net7.0-ios;net7.0-macos;net7.0-android;net7.0-maccatalyst"' /p:VersionPrefix=7.0.0 /p:AssemblyVersion=7.0.0.0 /p:Configuration=Release /p:IncludeSymbols=true /p:SymbolPackageFormat=snupkg /p:EmbedUntrackedSources=true /p:PublishRepositoryUrl=true /verbosity:minimal +- ps: ./update-global-json.ps1 6.0.400 +- ps: msbuild src/NLog.Targets.MauiLog/NLog.Targets.MauiLog.csproj /t:restore,pack /p:targetFrameworks='"net6.0;net6.0-ios;net6.0-macos;net6.0-android;net6.0-maccatalyst"' /p:VersionPrefix=6.0.0 /p:AssemblyVersion=6.0.0.0 /p:Configuration=Release /p:IncludeSymbols=true /p:SymbolPackageFormat=snupkg /p:EmbedUntrackedSources=true /p:PublishRepositoryUrl=true /verbosity:minimal +- ps: ./update-global-json.ps1 8.0.100 +- ps: msbuild src/NLog.Targets.MauiLog/NLog.Targets.MauiLog.csproj /t:restore,pack /p:targetFrameworks='"net8.0;net8.0-ios;net8.0-macos;net8.0-android;net8.0-maccatalyst"' /p:VersionPrefix=8.0.0 /p:AssemblyVersion=8.0.0.0 /p:Configuration=Release /p:IncludeSymbols=true /p:SymbolPackageFormat=snupkg /p:EmbedUntrackedSources=true /p:PublishRepositoryUrl=true /verbosity:minimal +- ps: msbuild /t:restore,build /p:VersionPrefix=8.0.0 /p:Configuration=Release /verbosity:minimal artifacts: - path: '**\NLog.*.nupkg' - path: '**\NLog.*.snupkg' diff --git a/examples/MauiApp2/MauiApp2.csproj b/examples/MauiApp2/MauiApp2.csproj index 13fc74a..c4533ea 100644 --- a/examples/MauiApp2/MauiApp2.csproj +++ b/examples/MauiApp2/MauiApp2.csproj @@ -1,30 +1,39 @@  - net6.0-android;net6.0-ios;net6.0-maccatalyst - $(TargetFrameworks);net6.0-windows10.0.19041.0 + net8.0-android;net8.0-ios;net8.0-maccatalyst + $(TargetFrameworks);net8.0-windows10.0.19041.0 + - + + + + + Exe MauiApp2 true true enable false + false MauiApp2 com.companyname.mauiapp2 - 708DDDE0-C95D-4905-84B0-4237AEF98BDA 1.0 1 - 14.2 - 14.0 + 11.0 + 13.1 21.0 10.0.17763.0 10.0.17763.0 @@ -51,10 +60,12 @@ - + + - + + diff --git a/examples/MauiApp2/ViewModel/MainViewModel.cs b/examples/MauiApp2/ViewModel/MainViewModel.cs index 76931a6..ce62c6e 100644 --- a/examples/MauiApp2/ViewModel/MainViewModel.cs +++ b/examples/MauiApp2/ViewModel/MainViewModel.cs @@ -2,16 +2,20 @@ using CommunityToolkit.Mvvm.Input; using System.Collections.ObjectModel; using System.ComponentModel; +using Microsoft.Extensions.Logging; namespace MauiApp2.ViewModel; public partial class MainViewModel : ObservableObject { - IConnectivity connectivity; - public MainViewModel(IConnectivity connectivity) + private readonly IConnectivity connectivity; + private readonly ILogger _logger; + + public MainViewModel(IConnectivity connectivity, ILogger logger) { Items = new ObservableCollection(); this.connectivity = connectivity; + this._logger = logger; } [ObservableProperty] @@ -49,6 +53,12 @@ void Delete(string s) [RelayCommand] async Task Tap(string s) { + _logger.LogTrace("Trace"); + _logger.LogDebug("Debug"); + _logger.LogInformation("Info"); + _logger.LogWarning("Warn"); + _logger.LogError("Error"); + _logger.LogCritical("Critical"); await Shell.Current.GoToAsync($"{nameof(DetailPage)}?Text={s}"); } diff --git a/global.json b/global.json index ec06e27..c82ec4a 100644 --- a/global.json +++ b/global.json @@ -1,10 +1,6 @@ -{ +{ "sdk": { - "version": "6.0.400", + "version": "8.0.100", "rollForward": "latestMinor" - }, - "msbuild-sdks": { - "MSBuild.Sdk.Extras": "3.0.44", - "Microsoft.Build.NoTargets": "3.3.0" } } \ No newline at end of file diff --git a/src/NLog.Targets.MauiLog/Config/SetupBuilderExtensions.cs b/src/NLog.Targets.MauiLog/Config/SetupBuilderExtensions.cs index a793496..14b9de9 100644 --- a/src/NLog.Targets.MauiLog/Config/SetupBuilderExtensions.cs +++ b/src/NLog.Targets.MauiLog/Config/SetupBuilderExtensions.cs @@ -9,7 +9,7 @@ namespace NLog public static class SetupBuilderExtensions { /// - /// Register the NLog.Web LayoutRenderers before loading NLog config + /// Register the NLog.Target.MauiLog extensions before loading NLog config /// public static ISetupBuilder RegisterMauiLog(this ISetupBuilder setupBuilder) { @@ -18,7 +18,7 @@ public static ISetupBuilder RegisterMauiLog(this ISetupBuilder setupBuilder) } /// - /// Register the NLog.Web LayoutRenderers before loading NLog config + /// Register the NLog.Target.MauiLog extensions before loading NLog config /// public static ISetupBuilder RegisterMauiLog(this ISetupBuilder setupBuilder, UnhandledExceptionEventHandler unhandledException) { diff --git a/src/NLog.Targets.MauiLog/Config/SetupExtensionsBuilderExtensions.cs b/src/NLog.Targets.MauiLog/Config/SetupExtensionsBuilderExtensions.cs index e1aa6ca..70bfaba 100644 --- a/src/NLog.Targets.MauiLog/Config/SetupExtensionsBuilderExtensions.cs +++ b/src/NLog.Targets.MauiLog/Config/SetupExtensionsBuilderExtensions.cs @@ -9,7 +9,7 @@ namespace NLog public static class SetupExtensionsBuilderExtensions { /// - /// Register the NLog.Web LayoutRenderers + /// Register the NLog.Target.MauiLog extensions before loading NLog config /// public static ISetupExtensionsBuilder RegisterMauiLog(this ISetupExtensionsBuilder setupBuilder) { diff --git a/src/NLog.Targets.MauiLog/NLog.Targets.MauiLog.csproj b/src/NLog.Targets.MauiLog/NLog.Targets.MauiLog.csproj index 37964f9..f891301 100644 --- a/src/NLog.Targets.MauiLog/NLog.Targets.MauiLog.csproj +++ b/src/NLog.Targets.MauiLog/NLog.Targets.MauiLog.csproj @@ -1,15 +1,13 @@ - + - netstandard2.0;net461 - netstandard2.0;Xamarin.iOS10;Xamarin.Mac20;MonoAndroid90;net6.0-ios;net6.0-macos;net6.0-android;net6.0-maccatalyst - 5.2.1 - 5.0.0.0 $(APPVEYOR_BUILD_NUMBER) - 0 - $(VersionPrefix).$(AppVeyorBuildNumber) - - NLog.Targets.MauiLog + net8.0 + net8.0;net8.0-ios;net8.0-macos;net8.0-android;net8.0-maccatalyst + $(VersionPrefix).$(AppVeyorBuildNumber) + + NLog.Targets.MauiLog for $(TargetFramework) + $(Title) NLog NLog MauiLog Target for writing to Apple Unified Logging / Android.Util.Log for LogCat git @@ -20,9 +18,7 @@ BSD-3-Clause README.md -- Added support for UnhandledExceptionEventHandler in RegisterMauiLog -- Updated to NLog v5.2.2 -- Added nuget-package README.md +- Removed Xamarin TargetFrameworks See https://github.com/NLog/NLog.Targets.MauiLog for documentation of NLog targets for MAUI @@ -32,7 +28,9 @@ See https://github.com/NLog/NLog.Targets.MauiLog for documentation of NLog targe true true true + copyused false + true @@ -49,24 +47,25 @@ See https://github.com/NLog/NLog.Targets.MauiLog for documentation of NLog targe - + $(DefineConstants);__ANDROID__ 21.0 + 33 - + $(DefineConstants);__APPLE__ 10.0 - 10.14 - - - + + $(DefineConstants);__APPLE__ + 10.14 + - + diff --git a/update-global-json.ps1 b/update-global-json.ps1 new file mode 100644 index 0000000..0a1ce7c --- /dev/null +++ b/update-global-json.ps1 @@ -0,0 +1,7 @@ +'{ "sdk": { "version": "' + $args[0] +'", "rollForward": "latestMinor" } }' | Out-File -FilePath global.json -Encoding utf8 + +dotnet workload install maui macos android ios maccatalyst + +maui-check --fix --non-interactive + +exit 0 \ No newline at end of file