diff --git a/Directory.Build.props b/Directory.Build.props
index 73f47be3d..9f4e016c2 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -47,8 +47,8 @@
-
-
+
+
@@ -74,26 +74,26 @@
-
-
-
-
-
+
+
+
+
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
diff --git a/Directory.Packages.props b/Directory.Packages.props
new file mode 100644
index 000000000..24b619633
--- /dev/null
+++ b/Directory.Packages.props
@@ -0,0 +1,66 @@
+
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/README.md b/README.md
index 1bab1e4df..673053a46 100644
--- a/README.md
+++ b/README.md
@@ -3,13 +3,13 @@
# Cuemon for .NET
An open-source project (MIT license) that targets and complements the Microsoft .NET platform. It provides vast ways of possibilities for all breeds of coders, programmers, developers and the likes thereof.
-Your ideal companion for .NET 8, .NET 6, .NET Standard 2 and .NET Framework 4.6.2 and newer.
+Your ideal companion for modern .NET 9, .NET 8, .NET Standard 2 including legacy .NET Framework 4.6.2 and newer.
It is, by heart, free, flexible and built to extend and boost your agile codebelt.
## State of the Union
-Cuemon for .NET (formerly Cuemon .NET Standard) has been completely refactored and updated to support .NET 8 (LTS) and .NET 6 (LTS).
+Cuemon for .NET (formerly Cuemon .NET Standard) has been completely refactored and updated to support .NET 9 (STS) and .NET 8 (LTS).
Support for .NET Core 3.0, .NET Core 3.1, .NET 5 and .NET 7 has been deprecated as these are out of [support](https://endoflife.date/dotnet).
diff --git a/src/Cuemon.Data.SqlClient/Cuemon.Data.SqlClient.csproj b/src/Cuemon.Data.SqlClient/Cuemon.Data.SqlClient.csproj
index 7a4fe0e32..7f1b6ce40 100644
--- a/src/Cuemon.Data.SqlClient/Cuemon.Data.SqlClient.csproj
+++ b/src/Cuemon.Data.SqlClient/Cuemon.Data.SqlClient.csproj
@@ -15,7 +15,7 @@
-
+
\ No newline at end of file
diff --git a/src/Cuemon.Extensions.Core/Cuemon.Extensions.Core.csproj b/src/Cuemon.Extensions.Core/Cuemon.Extensions.Core.csproj
index 579036525..fc71ff3e8 100644
--- a/src/Cuemon.Extensions.Core/Cuemon.Extensions.Core.csproj
+++ b/src/Cuemon.Extensions.Core/Cuemon.Extensions.Core.csproj
@@ -14,8 +14,8 @@
-
-
+
+
diff --git a/src/Cuemon.Extensions.DependencyInjection/Cuemon.Extensions.DependencyInjection.csproj b/src/Cuemon.Extensions.DependencyInjection/Cuemon.Extensions.DependencyInjection.csproj
index c3f4a637f..8721be95d 100644
--- a/src/Cuemon.Extensions.DependencyInjection/Cuemon.Extensions.DependencyInjection.csproj
+++ b/src/Cuemon.Extensions.DependencyInjection/Cuemon.Extensions.DependencyInjection.csproj
@@ -9,19 +9,9 @@
extension-methods extensions add tryadd
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
diff --git a/src/Cuemon.Extensions.Globalization/Cuemon.Extensions.Globalization.csproj b/src/Cuemon.Extensions.Globalization/Cuemon.Extensions.Globalization.csproj
index 088e67c75..40dd52c32 100644
--- a/src/Cuemon.Extensions.Globalization/Cuemon.Extensions.Globalization.csproj
+++ b/src/Cuemon.Extensions.Globalization/Cuemon.Extensions.Globalization.csproj
@@ -1200,7 +1200,7 @@
-
+
diff --git a/src/Cuemon.Extensions.Hosting/Cuemon.Extensions.Hosting.csproj b/src/Cuemon.Extensions.Hosting/Cuemon.Extensions.Hosting.csproj
index c6ccc632f..182741641 100644
--- a/src/Cuemon.Extensions.Hosting/Cuemon.Extensions.Hosting.csproj
+++ b/src/Cuemon.Extensions.Hosting/Cuemon.Extensions.Hosting.csproj
@@ -9,16 +9,8 @@
extension-methods extensions local-development non-production host hosting
-
-
-
-
-
-
-
-
-
-
+
+
diff --git a/src/Cuemon.Extensions.Net/Cuemon.Extensions.Net.csproj b/src/Cuemon.Extensions.Net/Cuemon.Extensions.Net.csproj
index ce1610d1e..ab802e531 100644
--- a/src/Cuemon.Extensions.Net/Cuemon.Extensions.Net.csproj
+++ b/src/Cuemon.Extensions.Net/Cuemon.Extensions.Net.csproj
@@ -9,16 +9,8 @@
extension-methods extensions to-signed-uri validate-signed-uri http-manager-factory slim-http-client-factory i-http-client-factory
-
-
-
-
-
-
-
-
-
-
+
+
diff --git a/src/Cuemon.Extensions.Text.Json/Cuemon.Extensions.Text.Json.csproj b/src/Cuemon.Extensions.Text.Json/Cuemon.Extensions.Text.Json.csproj
index b55759920..c1c52b3c2 100644
--- a/src/Cuemon.Extensions.Text.Json/Cuemon.Extensions.Text.Json.csproj
+++ b/src/Cuemon.Extensions.Text.Json/Cuemon.Extensions.Text.Json.csproj
@@ -9,18 +9,14 @@
extension-methods extensions json-converter json-formatter dynamic-json-converter write-object write-property-name
+
+
+
+
-
-
-
-
-
-
-
-
diff --git a/src/Cuemon.Extensions.Threading/Cuemon.Extensions.Threading.csproj b/src/Cuemon.Extensions.Threading/Cuemon.Extensions.Threading.csproj
index 07dc074cf..07ab9599e 100644
--- a/src/Cuemon.Extensions.Threading/Cuemon.Extensions.Threading.csproj
+++ b/src/Cuemon.Extensions.Threading/Cuemon.Extensions.Threading.csproj
@@ -10,14 +10,14 @@
-
-
-
-
-
+
+
+
+
+
diff --git a/test/Cuemon.AspNetCore.Authentication.Tests/Cuemon.AspNetCore.Authentication.Tests.csproj b/test/Cuemon.AspNetCore.Authentication.Tests/Cuemon.AspNetCore.Authentication.Tests.csproj
index a8acf1692..68755dad6 100644
--- a/test/Cuemon.AspNetCore.Authentication.Tests/Cuemon.AspNetCore.Authentication.Tests.csproj
+++ b/test/Cuemon.AspNetCore.Authentication.Tests/Cuemon.AspNetCore.Authentication.Tests.csproj
@@ -14,7 +14,7 @@
-
+
diff --git a/test/Cuemon.AspNetCore.FunctionalTests/Cuemon.AspNetCore.FunctionalTests.csproj b/test/Cuemon.AspNetCore.FunctionalTests/Cuemon.AspNetCore.FunctionalTests.csproj
index e11c28fb8..16649f353 100644
--- a/test/Cuemon.AspNetCore.FunctionalTests/Cuemon.AspNetCore.FunctionalTests.csproj
+++ b/test/Cuemon.AspNetCore.FunctionalTests/Cuemon.AspNetCore.FunctionalTests.csproj
@@ -6,8 +6,8 @@
-
-
+
+
diff --git a/test/Cuemon.AspNetCore.Mvc.FunctionalTests/Cuemon.AspNetCore.Mvc.FunctionalTests.csproj b/test/Cuemon.AspNetCore.Mvc.FunctionalTests/Cuemon.AspNetCore.Mvc.FunctionalTests.csproj
index 7ceb271b9..aa036d111 100644
--- a/test/Cuemon.AspNetCore.Mvc.FunctionalTests/Cuemon.AspNetCore.Mvc.FunctionalTests.csproj
+++ b/test/Cuemon.AspNetCore.Mvc.FunctionalTests/Cuemon.AspNetCore.Mvc.FunctionalTests.csproj
@@ -6,8 +6,8 @@
-
-
+
+
diff --git a/test/Cuemon.AspNetCore.Mvc.FunctionalTests/Filters/Diagnostics/FaultDescriptorFilterTest.cs b/test/Cuemon.AspNetCore.Mvc.FunctionalTests/Filters/Diagnostics/FaultDescriptorFilterTest.cs
index 443d47740..3a4414a5f 100644
--- a/test/Cuemon.AspNetCore.Mvc.FunctionalTests/Filters/Diagnostics/FaultDescriptorFilterTest.cs
+++ b/test/Cuemon.AspNetCore.Mvc.FunctionalTests/Filters/Diagnostics/FaultDescriptorFilterTest.cs
@@ -553,7 +553,7 @@ public async Task OnException_ShouldCaptureException_RenderAsDefault_UsingJson(F
}
}
-
+
[Theory]
[InlineData(FaultSensitivityDetails.All)]
diff --git a/test/Cuemon.AspNetCore.Mvc.Tests/Cuemon.AspNetCore.Mvc.Tests.csproj b/test/Cuemon.AspNetCore.Mvc.Tests/Cuemon.AspNetCore.Mvc.Tests.csproj
index 057560c1b..4bdfd402f 100644
--- a/test/Cuemon.AspNetCore.Mvc.Tests/Cuemon.AspNetCore.Mvc.Tests.csproj
+++ b/test/Cuemon.AspNetCore.Mvc.Tests/Cuemon.AspNetCore.Mvc.Tests.csproj
@@ -16,7 +16,7 @@
-
+
diff --git a/test/Cuemon.AspNetCore.Razor.TagHelpers.Tests/Cuemon.AspNetCore.Razor.TagHelpers.Tests.csproj b/test/Cuemon.AspNetCore.Razor.TagHelpers.Tests/Cuemon.AspNetCore.Razor.TagHelpers.Tests.csproj
index d2c7c3a42..90a6dbc29 100644
--- a/test/Cuemon.AspNetCore.Razor.TagHelpers.Tests/Cuemon.AspNetCore.Razor.TagHelpers.Tests.csproj
+++ b/test/Cuemon.AspNetCore.Razor.TagHelpers.Tests/Cuemon.AspNetCore.Razor.TagHelpers.Tests.csproj
@@ -12,7 +12,7 @@
-
+
diff --git a/test/Cuemon.AspNetCore.Tests/Cuemon.AspNetCore.Tests.csproj b/test/Cuemon.AspNetCore.Tests/Cuemon.AspNetCore.Tests.csproj
index 29f0997a4..efa93ad09 100644
--- a/test/Cuemon.AspNetCore.Tests/Cuemon.AspNetCore.Tests.csproj
+++ b/test/Cuemon.AspNetCore.Tests/Cuemon.AspNetCore.Tests.csproj
@@ -15,7 +15,7 @@
-
+
diff --git a/test/Cuemon.Core.Tests/Cuemon.Core.Tests.csproj b/test/Cuemon.Core.Tests/Cuemon.Core.Tests.csproj
index 779467eae..b39dc7712 100644
--- a/test/Cuemon.Core.Tests/Cuemon.Core.Tests.csproj
+++ b/test/Cuemon.Core.Tests/Cuemon.Core.Tests.csproj
@@ -15,12 +15,12 @@
-
-
+
+
-
+
diff --git a/test/Cuemon.Data.SqlClient.Tests/Cuemon.Data.SqlClient.Tests.csproj b/test/Cuemon.Data.SqlClient.Tests/Cuemon.Data.SqlClient.Tests.csproj
index c9e3e47b2..e71e18266 100644
--- a/test/Cuemon.Data.SqlClient.Tests/Cuemon.Data.SqlClient.Tests.csproj
+++ b/test/Cuemon.Data.SqlClient.Tests/Cuemon.Data.SqlClient.Tests.csproj
@@ -13,7 +13,7 @@
-
+
diff --git a/test/Cuemon.Data.Tests/Cuemon.Data.Tests.csproj b/test/Cuemon.Data.Tests/Cuemon.Data.Tests.csproj
index c5e5f8dc2..9fa9a8325 100644
--- a/test/Cuemon.Data.Tests/Cuemon.Data.Tests.csproj
+++ b/test/Cuemon.Data.Tests/Cuemon.Data.Tests.csproj
@@ -25,26 +25,19 @@
-
-
-
-
-
-
-
-
-
-
+
+
+
-
+
-
-
-
-
-
+
+
+
+
+
-
+
@@ -56,8 +49,4 @@
-
-
-
-
diff --git a/test/Cuemon.Extensions.AspNetCore.Authentication.Tests/Cuemon.Extensions.AspNetCore.Authentication.Tests.csproj b/test/Cuemon.Extensions.AspNetCore.Authentication.Tests/Cuemon.Extensions.AspNetCore.Authentication.Tests.csproj
index 736f45c68..06fe83e23 100644
--- a/test/Cuemon.Extensions.AspNetCore.Authentication.Tests/Cuemon.Extensions.AspNetCore.Authentication.Tests.csproj
+++ b/test/Cuemon.Extensions.AspNetCore.Authentication.Tests/Cuemon.Extensions.AspNetCore.Authentication.Tests.csproj
@@ -13,7 +13,7 @@
-
+
diff --git a/test/Cuemon.Extensions.AspNetCore.Mvc.Formatters.Text.Json.Tests/Cuemon.Extensions.AspNetCore.Mvc.Formatters.Text.Json.Tests.csproj b/test/Cuemon.Extensions.AspNetCore.Mvc.Formatters.Text.Json.Tests/Cuemon.Extensions.AspNetCore.Mvc.Formatters.Text.Json.Tests.csproj
index 03727d0f3..31aa71ee4 100644
--- a/test/Cuemon.Extensions.AspNetCore.Mvc.Formatters.Text.Json.Tests/Cuemon.Extensions.AspNetCore.Mvc.Formatters.Text.Json.Tests.csproj
+++ b/test/Cuemon.Extensions.AspNetCore.Mvc.Formatters.Text.Json.Tests/Cuemon.Extensions.AspNetCore.Mvc.Formatters.Text.Json.Tests.csproj
@@ -11,7 +11,7 @@
-
+
diff --git a/test/Cuemon.Extensions.AspNetCore.Mvc.Formatters.Xml.Tests/Cuemon.Extensions.AspNetCore.Mvc.Formatters.Xml.Tests.csproj b/test/Cuemon.Extensions.AspNetCore.Mvc.Formatters.Xml.Tests/Cuemon.Extensions.AspNetCore.Mvc.Formatters.Xml.Tests.csproj
index a622efa82..62bd85e17 100644
--- a/test/Cuemon.Extensions.AspNetCore.Mvc.Formatters.Xml.Tests/Cuemon.Extensions.AspNetCore.Mvc.Formatters.Xml.Tests.csproj
+++ b/test/Cuemon.Extensions.AspNetCore.Mvc.Formatters.Xml.Tests/Cuemon.Extensions.AspNetCore.Mvc.Formatters.Xml.Tests.csproj
@@ -11,7 +11,7 @@
-
+
diff --git a/test/Cuemon.Extensions.AspNetCore.Mvc.RazorPages.Tests/Cuemon.Extensions.AspNetCore.Mvc.RazorPages.Tests.csproj b/test/Cuemon.Extensions.AspNetCore.Mvc.RazorPages.Tests/Cuemon.Extensions.AspNetCore.Mvc.RazorPages.Tests.csproj
index 1b6879a6e..30a815ebd 100644
--- a/test/Cuemon.Extensions.AspNetCore.Mvc.RazorPages.Tests/Cuemon.Extensions.AspNetCore.Mvc.RazorPages.Tests.csproj
+++ b/test/Cuemon.Extensions.AspNetCore.Mvc.RazorPages.Tests/Cuemon.Extensions.AspNetCore.Mvc.RazorPages.Tests.csproj
@@ -11,7 +11,7 @@
-
+
diff --git a/test/Cuemon.Extensions.AspNetCore.Mvc.Tests/Cuemon.Extensions.AspNetCore.Mvc.Tests.csproj b/test/Cuemon.Extensions.AspNetCore.Mvc.Tests/Cuemon.Extensions.AspNetCore.Mvc.Tests.csproj
index 0bcab967c..0afab0f55 100644
--- a/test/Cuemon.Extensions.AspNetCore.Mvc.Tests/Cuemon.Extensions.AspNetCore.Mvc.Tests.csproj
+++ b/test/Cuemon.Extensions.AspNetCore.Mvc.Tests/Cuemon.Extensions.AspNetCore.Mvc.Tests.csproj
@@ -13,7 +13,7 @@
-
+
diff --git a/test/Cuemon.Extensions.AspNetCore.Tests/Cuemon.Extensions.AspNetCore.Tests.csproj b/test/Cuemon.Extensions.AspNetCore.Tests/Cuemon.Extensions.AspNetCore.Tests.csproj
index 47bf11be6..c73cc4dae 100644
--- a/test/Cuemon.Extensions.AspNetCore.Tests/Cuemon.Extensions.AspNetCore.Tests.csproj
+++ b/test/Cuemon.Extensions.AspNetCore.Tests/Cuemon.Extensions.AspNetCore.Tests.csproj
@@ -17,7 +17,7 @@
-
+
diff --git a/test/Cuemon.Extensions.Hosting.Tests/Cuemon.Extensions.Hosting.Tests.csproj b/test/Cuemon.Extensions.Hosting.Tests/Cuemon.Extensions.Hosting.Tests.csproj
index d8b4ee373..319f8a526 100644
--- a/test/Cuemon.Extensions.Hosting.Tests/Cuemon.Extensions.Hosting.Tests.csproj
+++ b/test/Cuemon.Extensions.Hosting.Tests/Cuemon.Extensions.Hosting.Tests.csproj
@@ -9,7 +9,7 @@
-
+
diff --git a/test/Cuemon.Extensions.Net.Tests/Cuemon.Extensions.Net.Tests.csproj b/test/Cuemon.Extensions.Net.Tests/Cuemon.Extensions.Net.Tests.csproj
index 4f7d4ac91..32dc8d6d7 100644
--- a/test/Cuemon.Extensions.Net.Tests/Cuemon.Extensions.Net.Tests.csproj
+++ b/test/Cuemon.Extensions.Net.Tests/Cuemon.Extensions.Net.Tests.csproj
@@ -5,7 +5,7 @@
-
+
diff --git a/test/Cuemon.Extensions.Runtime.Caching.Tests/Cuemon.Extensions.Runtime.Caching.Tests.csproj b/test/Cuemon.Extensions.Runtime.Caching.Tests/Cuemon.Extensions.Runtime.Caching.Tests.csproj
index f3391730e..1e5fbf382 100644
--- a/test/Cuemon.Extensions.Runtime.Caching.Tests/Cuemon.Extensions.Runtime.Caching.Tests.csproj
+++ b/test/Cuemon.Extensions.Runtime.Caching.Tests/Cuemon.Extensions.Runtime.Caching.Tests.csproj
@@ -9,7 +9,7 @@
-
+
\ No newline at end of file
diff --git a/test/Cuemon.Net.Tests/Cuemon.Net.Tests.csproj b/test/Cuemon.Net.Tests/Cuemon.Net.Tests.csproj
index 3bef3857c..b1664bf17 100644
--- a/test/Cuemon.Net.Tests/Cuemon.Net.Tests.csproj
+++ b/test/Cuemon.Net.Tests/Cuemon.Net.Tests.csproj
@@ -5,7 +5,7 @@
-
+
diff --git a/test/Cuemon.Resilience.Tests/Cuemon.Resilience.Tests.csproj b/test/Cuemon.Resilience.Tests/Cuemon.Resilience.Tests.csproj
index b58a58d0e..3bfd725bb 100644
--- a/test/Cuemon.Resilience.Tests/Cuemon.Resilience.Tests.csproj
+++ b/test/Cuemon.Resilience.Tests/Cuemon.Resilience.Tests.csproj
@@ -5,7 +5,7 @@
-
+
diff --git a/test/Cuemon.Runtime.Caching.Tests/Cuemon.Runtime.Caching.Tests.csproj b/test/Cuemon.Runtime.Caching.Tests/Cuemon.Runtime.Caching.Tests.csproj
index 7185b1075..90ff7d623 100644
--- a/test/Cuemon.Runtime.Caching.Tests/Cuemon.Runtime.Caching.Tests.csproj
+++ b/test/Cuemon.Runtime.Caching.Tests/Cuemon.Runtime.Caching.Tests.csproj
@@ -7,7 +7,7 @@
-
+
@@ -15,7 +15,7 @@
-
+
\ No newline at end of file
diff --git a/test/Cuemon.Xml.Tests/Cuemon.Xml.Tests.csproj b/test/Cuemon.Xml.Tests/Cuemon.Xml.Tests.csproj
index 74940a5de..c6c2fb38b 100644
--- a/test/Cuemon.Xml.Tests/Cuemon.Xml.Tests.csproj
+++ b/test/Cuemon.Xml.Tests/Cuemon.Xml.Tests.csproj
@@ -5,7 +5,7 @@
-
+
diff --git a/tooling/gse/gse.csproj b/tooling/gse/gse.csproj
index 9f7dd76e5..cef45d77c 100644
--- a/tooling/gse/gse.csproj
+++ b/tooling/gse/gse.csproj
@@ -19,7 +19,7 @@
-
+