Skip to content

Commit dc333c6

Browse files
committed
Run tests and examples against .NET 9 RC2
1 parent acde3e8 commit dc333c6

File tree

25 files changed

+84
-25
lines changed

25 files changed

+84
-25
lines changed

.config/dotnet-tools.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"isRoot": true,
44
"tools": {
55
"jetbrains.resharper.globaltools": {
6-
"version": "2024.2.6",
6+
"version": "2024.3.0-eap04",
77
"commands": [
88
"jb"
99
],

.github/workflows/build.yml

+6
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ jobs:
4848
dotnet-version: |
4949
6.0.x
5050
8.0.x
51+
9.0.x
52+
dotnet-quality: 'preview'
5153
- name: Show installed versions
5254
shell: pwsh
5355
run: |
@@ -166,6 +168,8 @@ jobs:
166168
dotnet-version: |
167169
6.0.x
168170
8.0.x
171+
9.0.x
172+
dotnet-quality: 'preview'
169173
- name: Git checkout
170174
uses: actions/checkout@v4
171175
- name: Restore tools
@@ -221,6 +225,8 @@ jobs:
221225
dotnet-version: |
222226
6.0.x
223227
8.0.x
228+
9.0.x
229+
dotnet-quality: 'preview'
224230
- name: Git checkout
225231
uses: actions/checkout@v4
226232
with:

.github/workflows/codeql.yml

+2
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ jobs:
2929
dotnet-version: |
3030
6.0.x
3131
8.0.x
32+
9.0.x
33+
dotnet-quality: 'preview'
3234
- name: Git checkout
3335
uses: actions/checkout@v4
3436
- name: Initialize CodeQL

Directory.Build.props

+8
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,14 @@
2424
<NoWarn>$(NoWarn);$(UseCollectionExpressionRules)</NoWarn>
2525
</PropertyGroup>
2626

27+
<!-- Specific to .NET 9 RC -->
28+
<PropertyGroup>
29+
<LangVersion>preview</LangVersion>
30+
<SuppressNETCoreSdkPreviewMessage>true</SuppressNETCoreSdkPreviewMessage>
31+
<NuGetAuditMode>direct</NuGetAuditMode>
32+
<NoWarn>$(NoWarn);NU1608;NETSDK1215</NoWarn>
33+
</PropertyGroup>
34+
2735
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
2836
<NoWarn>$(NoWarn);AV2210</NoWarn>
2937
</PropertyGroup>

NuGet.config

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<configuration>
3+
<packageSources>
4+
<add key="dotnet9" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet9/nuget/v3/index.json" />
5+
<add key="npgsql" value="https://www.myget.org/F/npgsql/api/v3/index.json" />
6+
<add key="npgsql-next" value="https://www.myget.org/F/npgsql-vnext/api/v3/index.json" />
7+
<add key="pomelo-nightly"
8+
value="https://pkgs.dev.azure.com/pomelo-efcore/Pomelo.EntityFrameworkCore.MySql/_packaging/pomelo-efcore-public/nuget/v3/index.json" />
9+
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
10+
</packageSources>
11+
</configuration>

package-versions.props

+16
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,27 @@
2020
<XunitVisualStudioVersion>2.8.*</XunitVisualStudioVersion>
2121
</PropertyGroup>
2222

23+
<PropertyGroup Condition="'$(TargetFramework)' == 'net9.0'">
24+
<!-- Published dependencies (only update on major version change) -->
25+
<EntityFrameworkCoreFrozenVersion>N/A</EntityFrameworkCoreFrozenVersion>
26+
27+
<!-- Non-published dependencies (these are safe to update, won't cause a breaking change) -->
28+
<AspNetCoreVersion>9.0.*-*</AspNetCoreVersion>
29+
<EntityFrameworkCoreVersion>9.0.0-rtm.24508.5</EntityFrameworkCoreVersion>
30+
<EntityFrameworkCorePostgreSQLVersion>9.0.0-rc.2-ci.20240930T080442</EntityFrameworkCorePostgreSQLVersion>
31+
<EntityFrameworkCorePomeloVersion>9.0.0-*</EntityFrameworkCorePomeloVersion>
32+
<SystemTextJsonVersion>$(AspNetCoreVersion)</SystemTextJsonVersion>
33+
</PropertyGroup>
34+
2335
<PropertyGroup Condition="'$(TargetFramework)' == 'net8.0'">
2436
<!-- Published dependencies (only update on major version change) -->
2537
<EntityFrameworkCoreFrozenVersion>8.0.0</EntityFrameworkCoreFrozenVersion>
2638

2739
<!-- Non-published dependencies (these are safe to update, won't cause a breaking change) -->
2840
<AspNetCoreVersion>8.0.*</AspNetCoreVersion>
2941
<EntityFrameworkCoreVersion>8.0.*</EntityFrameworkCoreVersion>
42+
<EntityFrameworkCorePostgreSQLVersion>$(EntityFrameworkCoreVersion)</EntityFrameworkCorePostgreSQLVersion>
43+
<EntityFrameworkCorePomeloVersion>$(EntityFrameworkCoreVersion)</EntityFrameworkCorePomeloVersion>
3044
<SystemTextJsonVersion>$(AspNetCoreVersion)</SystemTextJsonVersion>
3145
</PropertyGroup>
3246

@@ -38,6 +52,8 @@
3852
<AspNetCoreVersion>6.0.*</AspNetCoreVersion>
3953
<DateOnlyTimeOnlyVersion>2.1.*</DateOnlyTimeOnlyVersion>
4054
<EntityFrameworkCoreVersion>7.0.*</EntityFrameworkCoreVersion>
55+
<EntityFrameworkCorePostgreSQLVersion>$(EntityFrameworkCoreVersion)</EntityFrameworkCorePostgreSQLVersion>
56+
<EntityFrameworkCorePomeloVersion>$(EntityFrameworkCoreVersion)</EntityFrameworkCorePomeloVersion>
4157
<SystemTextJsonVersion>8.0.*</SystemTextJsonVersion>
4258
</PropertyGroup>
4359
</Project>

src/Examples/DapperExample/DapperExample.csproj

+7-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk.Web">
22
<PropertyGroup>
3-
<TargetFrameworks>net8.0;net6.0</TargetFrameworks>
3+
<TargetFrameworks>net9.0;net8.0;net6.0</TargetFrameworks>
44
</PropertyGroup>
55

66
<Import Project="..\..\..\package-versions.props" />
@@ -14,8 +14,12 @@
1414
<ItemGroup>
1515
<PackageReference Include="Dapper" Version="$(DapperVersion)" />
1616
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="$(EntityFrameworkCoreVersion)" />
17+
18+
<!-- Workaround for https://github.com/NuGet/Home/issues/13855 -->
19+
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="$(EntityFrameworkCoreVersion)" />
20+
1721
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="$(EntityFrameworkCoreVersion)" />
18-
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="$(EntityFrameworkCoreVersion)" />
19-
<PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="$(EntityFrameworkCoreVersion)" />
22+
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="$(EntityFrameworkCorePostgreSQLVersion)" />
23+
<PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="$(EntityFrameworkCorePomeloVersion)" />
2024
</ItemGroup>
2125
</Project>

src/Examples/DapperExample/Program.cs

+7-2
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,13 @@
3131
}
3232
case DatabaseProvider.MySql:
3333
{
34-
builder.Services.AddMySql<AppDbContext>(connectionString, ServerVersion.AutoDetect(connectionString),
35-
optionsAction: options => SetDbContextDebugOptions(options));
34+
#if NET9_0_OR_GREATER
35+
ServerVersion serverVersion = await ServerVersion.AutoDetectAsync(connectionString);
36+
#else
37+
ServerVersion serverVersion = ServerVersion.AutoDetect(connectionString);
38+
#endif
39+
40+
builder.Services.AddMySql<AppDbContext>(connectionString, serverVersion, optionsAction: options => SetDbContextDebugOptions(options));
3641

3742
break;
3843
}

src/Examples/DatabasePerTenantExample/DatabasePerTenantExample.csproj

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk.Web">
22
<PropertyGroup>
3-
<TargetFrameworks>net8.0;net6.0</TargetFrameworks>
3+
<TargetFrameworks>net9.0;net8.0;net6.0</TargetFrameworks>
44
</PropertyGroup>
55

66
<Import Project="..\..\..\package-versions.props" />
@@ -13,6 +13,6 @@
1313

1414
<ItemGroup>
1515
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="$(EntityFrameworkCoreVersion)" />
16-
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="$(EntityFrameworkCoreVersion)" />
16+
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="$(EntityFrameworkCorePostgreSQLVersion)" />
1717
</ItemGroup>
1818
</Project>

src/Examples/GettingStarted/GettingStarted.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk.Web">
22
<PropertyGroup>
3-
<TargetFrameworks>net8.0;net6.0</TargetFrameworks>
3+
<TargetFrameworks>net9.0;net8.0;net6.0</TargetFrameworks>
44
</PropertyGroup>
55

66
<Import Project="..\..\..\package-versions.props" />

src/Examples/JsonApiDotNetCoreExample/JsonApiDotNetCoreExample.csproj

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk.Web">
22
<PropertyGroup>
3-
<TargetFrameworks>net8.0;net6.0</TargetFrameworks>
3+
<TargetFrameworks>net9.0;net8.0;net6.0</TargetFrameworks>
44
</PropertyGroup>
55

66
<Import Project="..\..\..\package-versions.props" />
@@ -13,6 +13,6 @@
1313

1414
<ItemGroup>
1515
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="$(EntityFrameworkCoreVersion)" />
16-
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="$(EntityFrameworkCoreVersion)" />
16+
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="$(EntityFrameworkCorePostgreSQLVersion)" />
1717
</ItemGroup>
1818
</Project>

src/Examples/MultiDbContextExample/MultiDbContextExample.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk.Web">
22
<PropertyGroup>
3-
<TargetFrameworks>net8.0;net6.0</TargetFrameworks>
3+
<TargetFrameworks>net9.0;net8.0;net6.0</TargetFrameworks>
44
</PropertyGroup>
55

66
<Import Project="..\..\..\package-versions.props" />

src/Examples/NoEntityFrameworkExample/NoEntityFrameworkExample.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk.Web">
22
<PropertyGroup>
3-
<TargetFrameworks>net8.0;net6.0</TargetFrameworks>
3+
<TargetFrameworks>net9.0;net8.0;net6.0</TargetFrameworks>
44
</PropertyGroup>
55

66
<Import Project="..\..\..\package-versions.props" />

src/Examples/ReportsExample/ReportsExample.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk.Web">
22
<PropertyGroup>
3-
<TargetFrameworks>net8.0;net6.0</TargetFrameworks>
3+
<TargetFrameworks>net9.0;net8.0;net6.0</TargetFrameworks>
44
</PropertyGroup>
55

66
<Import Project="..\..\..\package-versions.props" />

test/AnnotationTests/AnnotationTests.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFrameworks>net8.0;net6.0;netstandard2.0</TargetFrameworks>
3+
<TargetFrameworks>net9.0;net8.0;net6.0;netstandard2.0</TargetFrameworks>
44
</PropertyGroup>
55

66
<Import Project="..\..\package-versions.props" />

test/DapperTests/DapperTests.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFrameworks>net8.0;net6.0</TargetFrameworks>
3+
<TargetFrameworks>net9.0;net8.0;net6.0</TargetFrameworks>
44
</PropertyGroup>
55

66
<Import Project="..\..\package-versions.props" />

test/DiscoveryTests/DiscoveryTests.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFrameworks>net8.0;net6.0</TargetFrameworks>
3+
<TargetFrameworks>net9.0;net8.0;net6.0</TargetFrameworks>
44
</PropertyGroup>
55

66
<Import Project="..\..\package-versions.props" />

test/JsonApiDotNetCoreTests/JsonApiDotNetCoreTests.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFrameworks>net8.0;net6.0</TargetFrameworks>
3+
<TargetFrameworks>net9.0;net8.0;net6.0</TargetFrameworks>
44
</PropertyGroup>
55

66
<Import Project="..\..\package-versions.props" />

test/MultiDbContextTests/MultiDbContextTests.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFrameworks>net8.0;net6.0</TargetFrameworks>
3+
<TargetFrameworks>net9.0;net8.0;net6.0</TargetFrameworks>
44
</PropertyGroup>
55

66
<Import Project="..\..\package-versions.props" />

test/NoEntityFrameworkTests/NoEntityFrameworkTests.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFrameworks>net8.0;net6.0</TargetFrameworks>
3+
<TargetFrameworks>net9.0;net8.0;net6.0</TargetFrameworks>
44
</PropertyGroup>
55

66
<Import Project="..\..\package-versions.props" />

test/SourceGeneratorTests/SourceGeneratorTests.csproj

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFrameworks>net8.0;net6.0</TargetFrameworks>
3+
<TargetFrameworks>net9.0;net8.0;net6.0</TargetFrameworks>
44
</PropertyGroup>
55

66
<Import Project="..\..\package-versions.props" />
@@ -15,6 +15,10 @@
1515
<PackageReference Include="coverlet.collector" Version="$(CoverletVersion)" PrivateAssets="All" />
1616
<PackageReference Include="GitHubActionsTestLogger" Version="$(GitHubActionsTestLoggerVersion)" PrivateAssets="All" />
1717
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="$(CodeAnalysisVersion)" />
18+
19+
<!-- Workaround for https://github.com/NuGet/Home/issues/13855 -->
20+
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="$(EntityFrameworkCoreVersion)" />
21+
1822
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="$(TestSdkVersion)" />
1923
</ItemGroup>
2024
</Project>

test/TestBuildingBlocks/CapturingLoggerProvider.cs

+4
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,11 @@ public sealed class CapturingLoggerProvider : ILoggerProvider
1010
private static readonly Func<string, LogLevel, bool> DefaultFilter = (_, _) => true;
1111
private readonly Func<string, LogLevel, bool> _filter;
1212

13+
#if NET9_0_OR_GREATER
14+
private readonly Lock _lockObject = new();
15+
#else
1316
private readonly object _lockObject = new();
17+
#endif
1418
private readonly List<LogMessage> _messages = [];
1519

1620
public CapturingLoggerProvider()

test/TestBuildingBlocks/TestBuildingBlocks.csproj

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFrameworks>net8.0;net6.0</TargetFrameworks>
3+
<TargetFrameworks>net9.0;net8.0;net6.0</TargetFrameworks>
44
</PropertyGroup>
55

66
<Import Project="..\..\package-versions.props" />
@@ -17,7 +17,7 @@
1717
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="$(AspNetCoreVersion)" />
1818
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="$(EntityFrameworkCoreVersion)" />
1919
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="$(TestSdkVersion)" />
20-
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="$(EntityFrameworkCoreVersion)" />
20+
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="$(EntityFrameworkCorePostgreSQLVersion)" />
2121
<PackageReference Include="xunit" Version="$(XunitVersion)" />
2222
<PackageReference Include="xunit.runner.visualstudio" Version="$(XunitVisualStudioVersion)" PrivateAssets="All" />
2323
</ItemGroup>

test/UnitTests/UnitTests.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFrameworks>net8.0;net6.0</TargetFrameworks>
3+
<TargetFrameworks>net9.0;net8.0;net6.0</TargetFrameworks>
44
</PropertyGroup>
55

66
<Import Project="..\..\package-versions.props" />

tests.runsettings

-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<RunSettings>
33
<xUnit>
4-
<ParallelAlgorithm>aggressive</ParallelAlgorithm>
54
<ShowLiveOutput>true</ShowLiveOutput>
65
</xUnit>
76
<RunConfiguration>

0 commit comments

Comments
 (0)