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