diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
index af286c8c8c..547acfff34 100644
--- a/.config/dotnet-tools.json
+++ b/.config/dotnet-tools.json
@@ -3,7 +3,7 @@
"isRoot": true,
"tools": {
"jetbrains.resharper.globaltools": {
- "version": "2026.2.2",
+ "version": "2026.3.0-eap02",
"commands": [
"jb"
],
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 102b34342d..836e99927c 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -52,6 +52,11 @@ jobs:
8.0.*
9.0.*
10.0.*
+ - name: Setup .NET 11 Preview
+ uses: actions/setup-dotnet@v5
+ with:
+ dotnet-version: 11.0.*
+ dotnet-quality: preview
- name: Show installed versions
shell: pwsh
run: |
@@ -161,6 +166,11 @@ jobs:
8.0.*
9.0.*
10.0.*
+ - name: Setup .NET 11 Preview
+ uses: actions/setup-dotnet@v5
+ with:
+ dotnet-version: 11.0.*
+ dotnet-quality: preview
- name: Git checkout
uses: actions/checkout@v7
with:
@@ -219,6 +229,11 @@ jobs:
8.0.*
9.0.*
10.0.*
+ - name: Setup .NET 11 Preview
+ uses: actions/setup-dotnet@v5
+ with:
+ dotnet-version: 11.0.*
+ dotnet-quality: preview
- name: Git checkout
uses: actions/checkout@v7
with:
diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
index e2035beb87..c049cb8f30 100644
--- a/.github/workflows/codeql.yml
+++ b/.github/workflows/codeql.yml
@@ -33,6 +33,11 @@ jobs:
8.0.*
9.0.*
10.0.*
+ - name: Setup .NET 11 Preview
+ uses: actions/setup-dotnet@v5
+ with:
+ dotnet-version: 11.0.*
+ dotnet-quality: preview
- name: Git checkout
uses: actions/checkout@v7
with:
diff --git a/.github/workflows/qodana.yml b/.github/workflows/qodana.yml
index d935eece35..f352960499 100644
--- a/.github/workflows/qodana.yml
+++ b/.github/workflows/qodana.yml
@@ -30,6 +30,11 @@ jobs:
8.0.*
9.0.*
10.0.*
+ - name: Setup .NET 11 Preview
+ uses: actions/setup-dotnet@v5
+ with:
+ dotnet-version: 11.0.*
+ dotnet-quality: preview
- name: Git checkout
uses: actions/checkout@v7
with:
diff --git a/Directory.Build.props b/Directory.Build.props
index 48d9a54c91..7391a8164f 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -13,6 +13,14 @@
pre
+
+
+ true
+
+
+ $(NoWarn);NU1608
+
+
+ 11.0.*-*
+
+
+ 11.0.*-*
+ 11.0.*-*
+ 10.0.*
+
+
10.0.0
@@ -29,6 +39,7 @@
10.0.*
10.0.*-*
+ $(EntityFrameworkCoreVersion)
@@ -38,6 +49,7 @@
9.0.*
9.0.*
+ $(EntityFrameworkCoreVersion)
@@ -47,5 +59,6 @@
8.0.*
8.0.*
+ $(EntityFrameworkCoreVersion)
diff --git a/src/Examples/DapperExample/DapperExample.csproj b/src/Examples/DapperExample/DapperExample.csproj
index 47e35d23ce..4541a74bcb 100644
--- a/src/Examples/DapperExample/DapperExample.csproj
+++ b/src/Examples/DapperExample/DapperExample.csproj
@@ -1,6 +1,6 @@
-
+
- net10.0;net9.0;net8.0
+ net11.0;net10.0;net9.0;net8.0
@@ -15,7 +15,7 @@
-
+
diff --git a/src/Examples/DatabasePerTenantExample/DatabasePerTenantExample.csproj b/src/Examples/DatabasePerTenantExample/DatabasePerTenantExample.csproj
index c7cee804b1..8bdd3ce024 100644
--- a/src/Examples/DatabasePerTenantExample/DatabasePerTenantExample.csproj
+++ b/src/Examples/DatabasePerTenantExample/DatabasePerTenantExample.csproj
@@ -1,6 +1,6 @@
- net10.0;net9.0;net8.0
+ net11.0;net10.0;net9.0;net8.0
diff --git a/src/Examples/GettingStarted/GettingStarted.csproj b/src/Examples/GettingStarted/GettingStarted.csproj
index 806fdf45a5..d78aa32b1a 100644
--- a/src/Examples/GettingStarted/GettingStarted.csproj
+++ b/src/Examples/GettingStarted/GettingStarted.csproj
@@ -1,6 +1,6 @@
- net10.0;net9.0;net8.0
+ net11.0;net10.0;net9.0;net8.0
diff --git a/src/Examples/JsonApiDotNetCoreExample/JsonApiDotNetCoreExample.csproj b/src/Examples/JsonApiDotNetCoreExample/JsonApiDotNetCoreExample.csproj
index c7cee804b1..8bdd3ce024 100644
--- a/src/Examples/JsonApiDotNetCoreExample/JsonApiDotNetCoreExample.csproj
+++ b/src/Examples/JsonApiDotNetCoreExample/JsonApiDotNetCoreExample.csproj
@@ -1,6 +1,6 @@
- net10.0;net9.0;net8.0
+ net11.0;net10.0;net9.0;net8.0
diff --git a/src/Examples/MultiDbContextExample/MultiDbContextExample.csproj b/src/Examples/MultiDbContextExample/MultiDbContextExample.csproj
index 806fdf45a5..d78aa32b1a 100644
--- a/src/Examples/MultiDbContextExample/MultiDbContextExample.csproj
+++ b/src/Examples/MultiDbContextExample/MultiDbContextExample.csproj
@@ -1,6 +1,6 @@
- net10.0;net9.0;net8.0
+ net11.0;net10.0;net9.0;net8.0
diff --git a/src/Examples/NoEntityFrameworkExample/NoEntityFrameworkExample.csproj b/src/Examples/NoEntityFrameworkExample/NoEntityFrameworkExample.csproj
index e50874f733..358b40b311 100644
--- a/src/Examples/NoEntityFrameworkExample/NoEntityFrameworkExample.csproj
+++ b/src/Examples/NoEntityFrameworkExample/NoEntityFrameworkExample.csproj
@@ -1,6 +1,6 @@
- net10.0;net9.0;net8.0
+ net11.0;net10.0;net9.0;net8.0
diff --git a/src/Examples/ReportsExample/ReportsExample.csproj b/src/Examples/ReportsExample/ReportsExample.csproj
index 73a16ddf4f..7c6fc9cd46 100644
--- a/src/Examples/ReportsExample/ReportsExample.csproj
+++ b/src/Examples/ReportsExample/ReportsExample.csproj
@@ -1,6 +1,6 @@
- net10.0;net9.0;net8.0
+ net11.0;net10.0;net9.0;net8.0
diff --git a/src/JsonApiDotNetCore.Annotations/JsonApiDotNetCore.Annotations.csproj b/src/JsonApiDotNetCore.Annotations/JsonApiDotNetCore.Annotations.csproj
index fd646bfd78..6fe99fb34d 100644
--- a/src/JsonApiDotNetCore.Annotations/JsonApiDotNetCore.Annotations.csproj
+++ b/src/JsonApiDotNetCore.Annotations/JsonApiDotNetCore.Annotations.csproj
@@ -1,6 +1,6 @@
- net10.0;net8.0;netstandard1.0
+ net11.0;net10.0;net8.0;netstandard1.0
true
true
JsonApiDotNetCore
diff --git a/src/JsonApiDotNetCore/JsonApiDotNetCore.csproj b/src/JsonApiDotNetCore/JsonApiDotNetCore.csproj
index c1a6e96ff2..9406afd827 100644
--- a/src/JsonApiDotNetCore/JsonApiDotNetCore.csproj
+++ b/src/JsonApiDotNetCore/JsonApiDotNetCore.csproj
@@ -1,6 +1,6 @@
- net10.0;net8.0
+ net11.0;net10.0;net8.0
true
true
diff --git a/test/AnnotationTests/AnnotationTests.csproj b/test/AnnotationTests/AnnotationTests.csproj
index 6d2bfff1e6..6fbfdf535b 100644
--- a/test/AnnotationTests/AnnotationTests.csproj
+++ b/test/AnnotationTests/AnnotationTests.csproj
@@ -1,6 +1,6 @@
- net10.0;net9.0;net8.0;netstandard2.0
+ net11.0;net10.0;net9.0;net8.0;netstandard2.0
diff --git a/test/DapperTests/DapperTests.csproj b/test/DapperTests/DapperTests.csproj
index 3aca3d377c..7daf9e18d3 100644
--- a/test/DapperTests/DapperTests.csproj
+++ b/test/DapperTests/DapperTests.csproj
@@ -1,6 +1,6 @@
- net10.0;net9.0;net8.0
+ net11.0;net10.0;net9.0;net8.0
diff --git a/test/DiscoveryTests/DiscoveryTests.csproj b/test/DiscoveryTests/DiscoveryTests.csproj
index f6e1d014be..bb12efea39 100644
--- a/test/DiscoveryTests/DiscoveryTests.csproj
+++ b/test/DiscoveryTests/DiscoveryTests.csproj
@@ -1,6 +1,6 @@
-
+
- net10.0;net9.0;net8.0
+ net11.0;net10.0;net9.0;net8.0
diff --git a/test/DiscoveryTests/ServiceDiscoveryFacadeTests.cs b/test/DiscoveryTests/ServiceDiscoveryFacadeTests.cs
index 2e0974da50..c75623a09e 100644
--- a/test/DiscoveryTests/ServiceDiscoveryFacadeTests.cs
+++ b/test/DiscoveryTests/ServiceDiscoveryFacadeTests.cs
@@ -124,6 +124,13 @@ public override DbContextOptions WithExtension(TExtension extension)
{
return this;
}
+
+#if NET11_0_OR_GREATER
+ public override DbContextOptions WithoutExtension()
+ {
+ return this;
+ }
+#endif
}
}
}
diff --git a/test/JsonApiDotNetCoreTests/IntegrationTests/AttributeTypes/AttributeTypeWriteTests.cs b/test/JsonApiDotNetCoreTests/IntegrationTests/AttributeTypes/AttributeTypeWriteTests.cs
index 742b778ebf..f5a624ed86 100644
--- a/test/JsonApiDotNetCoreTests/IntegrationTests/AttributeTypes/AttributeTypeWriteTests.cs
+++ b/test/JsonApiDotNetCoreTests/IntegrationTests/AttributeTypes/AttributeTypeWriteTests.cs
@@ -532,8 +532,8 @@ await _testContext.RunOnDatabaseAsync(async dbContext =>
[InlineData(nameof(TypeContainer.TestNullableIPAddress), "An invalid IP address was specified.")]
[InlineData(nameof(TypeContainer.TestIPNetwork), "An invalid IP network was specified.")]
[InlineData(nameof(TypeContainer.TestNullableIPNetwork), "An invalid IP network was specified.")]
- [InlineData(nameof(TypeContainer.TestVersion), $"{ErrorPrefixJsonSupport}Version format.")]
- [InlineData(nameof(TypeContainer.TestNullableVersion), $"{ErrorPrefixJsonSupport}Version format.")]
+ [InlineData(nameof(TypeContainer.TestVersion), $"{ErrorPrefixJsonConvert}System.Version.")]
+ [InlineData(nameof(TypeContainer.TestNullableVersion), $"{ErrorPrefixJsonConvert}System.Version.")]
public async Task Cannot_update_resource_with_attribute_set_to_invalid_value(string propertyName, string innerParseError)
{
// Arrange
diff --git a/test/JsonApiDotNetCoreTests/IntegrationTests/Endpoints/MinimalApis/MinimalApiTests.cs b/test/JsonApiDotNetCoreTests/IntegrationTests/Endpoints/MinimalApis/MinimalApiTests.cs
index bd55841d64..34512745a0 100644
--- a/test/JsonApiDotNetCoreTests/IntegrationTests/Endpoints/MinimalApis/MinimalApiTests.cs
+++ b/test/JsonApiDotNetCoreTests/IntegrationTests/Endpoints/MinimalApis/MinimalApiTests.cs
@@ -1,5 +1,4 @@
using System.Net;
-using System.Net.Http.Json;
using FluentAssertions;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc;
diff --git a/test/JsonApiDotNetCoreTests/JsonApiDotNetCoreTests.csproj b/test/JsonApiDotNetCoreTests/JsonApiDotNetCoreTests.csproj
index 788f4eabff..e70825a9ff 100644
--- a/test/JsonApiDotNetCoreTests/JsonApiDotNetCoreTests.csproj
+++ b/test/JsonApiDotNetCoreTests/JsonApiDotNetCoreTests.csproj
@@ -1,6 +1,6 @@
-
+
- net10.0;net9.0;net8.0
+ net11.0;net10.0;net9.0;net8.0
@@ -22,4 +22,8 @@
+
+
+
+
diff --git a/test/MultiDbContextTests/MultiDbContextTests.csproj b/test/MultiDbContextTests/MultiDbContextTests.csproj
index 524270f7e2..0e568b4ac8 100644
--- a/test/MultiDbContextTests/MultiDbContextTests.csproj
+++ b/test/MultiDbContextTests/MultiDbContextTests.csproj
@@ -1,6 +1,6 @@
- net10.0;net9.0;net8.0
+ net11.0;net10.0;net9.0;net8.0
diff --git a/test/NoEntityFrameworkTests/NoEntityFrameworkTests.csproj b/test/NoEntityFrameworkTests/NoEntityFrameworkTests.csproj
index 9ff82322ba..5eb997513c 100644
--- a/test/NoEntityFrameworkTests/NoEntityFrameworkTests.csproj
+++ b/test/NoEntityFrameworkTests/NoEntityFrameworkTests.csproj
@@ -1,6 +1,6 @@
- net10.0;net9.0;net8.0
+ net11.0;net10.0;net9.0;net8.0
diff --git a/test/NoEntityFrameworkTests/NullSafeExpressionRewriterTests.cs b/test/NoEntityFrameworkTests/NullSafeExpressionRewriterTests.cs
index 23250ddb1c..705c145b7e 100644
--- a/test/NoEntityFrameworkTests/NullSafeExpressionRewriterTests.cs
+++ b/test/NoEntityFrameworkTests/NullSafeExpressionRewriterTests.cs
@@ -206,7 +206,9 @@ public void Can_rewrite_where_clause_with_any_comparison()
TestResource lastInDataSource = dataSource.Last();
Expression, IEnumerable>> expression = source =>
+#pragma warning disable CA1860 // Avoid using 'Enumerable.Any()' extension method
source.Where(resource => resource.Parent!.Parent!.Children.Any());
+#pragma warning restore CA1860 // Avoid using 'Enumerable.Any()' extension method
var rewriter = new NullSafeExpressionRewriter();
diff --git a/test/SourceGeneratorTests/SourceGeneratorTests.csproj b/test/SourceGeneratorTests/SourceGeneratorTests.csproj
index 61946fbc1a..d89506257a 100644
--- a/test/SourceGeneratorTests/SourceGeneratorTests.csproj
+++ b/test/SourceGeneratorTests/SourceGeneratorTests.csproj
@@ -1,6 +1,6 @@
- net10.0;net9.0;net8.0
+ net11.0;net10.0;net9.0;net8.0
diff --git a/test/TestBuildingBlocks/TestBuildingBlocks.csproj b/test/TestBuildingBlocks/TestBuildingBlocks.csproj
index 6edcde897c..a750cd0c91 100644
--- a/test/TestBuildingBlocks/TestBuildingBlocks.csproj
+++ b/test/TestBuildingBlocks/TestBuildingBlocks.csproj
@@ -1,6 +1,6 @@
- net10.0;net9.0;net8.0
+ net11.0;net10.0;net9.0;net8.0