Skip to content

Commit 50e3720

Browse files
committed
Upgrade to .NET 9
1 parent f41ceae commit 50e3720

12 files changed

Lines changed: 140 additions & 168 deletions

File tree

src/BF2WebAdmin.Blazor/BF2WebAdmin.Blazor.csproj

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,19 @@
11
<Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly">
22

33
<PropertyGroup>
4-
<TargetFramework>net7.0</TargetFramework>
4+
<TargetFramework>net9.0</TargetFramework>
55
<Nullable>enable</Nullable>
66
<ImplicitUsings>enable</ImplicitUsings>
7+
<LangVersion>default</LangVersion>
78
</PropertyGroup>
89

910
<ItemGroup>
10-
<PackageReference Include="Excubo.Blazor.Canvas" Version="3.2.0" />
11-
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="7.0.0" />
12-
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="7.0.0" PrivateAssets="all" />
13-
<PackageReference Include="Microsoft.AspNetCore.SignalR.Client" Version="7.0.0" />
14-
<PackageReference Include="Microsoft.AspNetCore.SignalR.Protocols.Json" Version="7.0.0" />
15-
<PackageReference Include="Microsoft.AspNetCore.SignalR.Protocols.MessagePack" Version="7.0.0" />
11+
<PackageReference Include="Excubo.Blazor.Canvas" Version="3.2.74" />
12+
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="9.0.4" />
13+
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="9.0.4" PrivateAssets="all" />
14+
<PackageReference Include="Microsoft.AspNetCore.SignalR.Client" Version="9.0.4" />
15+
<PackageReference Include="Microsoft.AspNetCore.SignalR.Protocols.Json" Version="9.0.4" />
16+
<PackageReference Include="Microsoft.AspNetCore.SignalR.Protocols.MessagePack" Version="9.0.4" />
1617
<PackageReference Include="MudBlazor" Version="6.0.19-dev1" />
1718
</ItemGroup>
1819

src/BF2WebAdmin.Common/BF2WebAdmin.Common.csproj

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>net7.0</TargetFramework>
4+
<TargetFramework>net9.0</TargetFramework>
55
<AssemblyName>BF2WebAdmin.Common</AssemblyName>
66
<PackageId>BF2WebAdmin.Common</PackageId>
77
<GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
88
<GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
99
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
1010
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
11+
<LangVersion>default</LangVersion>
1112
</PropertyGroup>
1213

1314
<PropertyGroup>
@@ -22,19 +23,18 @@
2223

2324
<ItemGroup>
2425
<PackageReference Include="MaxMind.GeoIP2" Version="2.9.0" />
25-
<PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="7.0.0" />
26-
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="7.0.0" />
27-
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="7.0.0" />
26+
<PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="9.0.4" />
27+
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="9.0.4" />
28+
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="9.0.4" />
2829
<PackageReference Include="NetMQ" Version="4.0.1.6" />
2930
<PackageReference Include="OpenTelemetry.Contrib.Preview" Version="1.0.0-beta2" />
30-
<PackageReference Include="OpenTelemetry.Exporter.Console" Version="1.4.0-beta.2" />
31-
<PackageReference Include="OpenTelemetry.Extensions.Hosting" Version="1.0.0-rc9.8" />
32-
<PackageReference Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.4.0-beta.2" />
33-
<PackageReference Include="OpenTelemetry.Exporter.OpenTelemetryProtocol.Logs" Version="1.4.0-beta.2" />
31+
<PackageReference Include="OpenTelemetry.Exporter.Console" Version="1.12.0" />
32+
<PackageReference Include="OpenTelemetry.Extensions.Hosting" Version="1.12.0" />
33+
<PackageReference Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.12.0" />
3434
<PackageReference Include="OpenTelemetry.Instrumentation.EntityFrameworkCore" Version="1.0.0-beta.3" />
35-
<PackageReference Include="OpenTelemetry.Instrumentation.Runtime" Version="1.0.0" />
36-
<PackageReference Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.0.0-rc9.8" />
37-
<PackageReference Include="OpenTelemetry.Instrumentation.Http" Version="1.0.0-rc9.8" />
35+
<PackageReference Include="OpenTelemetry.Instrumentation.Runtime" Version="1.12.0" />
36+
<PackageReference Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.12.0" />
37+
<PackageReference Include="OpenTelemetry.Instrumentation.Http" Version="1.12.0" />
3838
<PackageReference Include="OpenTelemetry.Instrumentation.SqlClient" Version="1.0.0-rc9.7" />
3939
<PackageReference Include="protobuf-net" Version="2.3.3" />
4040
</ItemGroup>

src/BF2WebAdmin.Common/External/TelemetryExtensions.cs

Lines changed: 41 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
using OpenTelemetry.Exporter;
77
using OpenTelemetry.Logs;
88
using OpenTelemetry.Metrics;
9+
using OpenTelemetry.Resources;
910
using OpenTelemetry.Trace;
1011

1112
namespace Nihlen.Common.Telemetry;
@@ -26,66 +27,51 @@ public static class TelemetryExtensions
2627
if (services is null)
2728
return null;
2829

29-
var resourceBuilder = Telemetry.GetResourceBuilder(ref serviceName, ref serviceVersion, ref otlpEndpoint);
30+
// var resourceBuilder = Telemetry.GetResourceBuilder(ref serviceName, ref serviceVersion, ref otlpEndpoint);
3031

31-
services.AddOpenTelemetryTracing(b => b
32-
.AddSource(serviceName)
33-
.SetResourceBuilder(resourceBuilder)
34-
.AddOtlpExporter(o =>
35-
{
36-
o.Endpoint = new Uri(otlpEndpoint);
37-
o.Protocol = OtlpExportProtocol.Grpc;
38-
})
39-
.AddAspNetCoreInstrumentation(o =>
40-
{
41-
o.RecordException = true;
42-
})
43-
.AddHttpClientInstrumentation(o =>
44-
{
45-
o.RecordException = true;
46-
})
47-
.AddSqlClientInstrumentation(o =>
48-
{
49-
o.SetDbStatementForText = true;
50-
o.SetDbStatementForStoredProcedure = true;
51-
o.EnableConnectionLevelAttributes = true;
52-
o.RecordException = true;
53-
})
54-
.AddEntityFrameworkCoreInstrumentation(o =>
55-
{
56-
o.SetDbStatementForText = true;
57-
o.SetDbStatementForStoredProcedure = true;
58-
})
59-
60-
// .SetSampler(new ParentBasedSampler(new TraceIdRatioBasedSampler(0.1))) // sample 10 % of root spans fully
61-
);
62-
63-
services.AddOpenTelemetryMetrics(b => b
64-
.AddMeter(serviceName)
65-
.SetResourceBuilder(resourceBuilder)
66-
.AddOtlpExporter(o =>
67-
{
68-
o.Endpoint = new Uri(otlpEndpoint);
69-
o.Protocol = OtlpExportProtocol.Grpc;
70-
})
71-
.AddAspNetCoreInstrumentation()
72-
.AddHttpClientInstrumentation()
32+
services.AddOpenTelemetry()
33+
.ConfigureResource(r => r.AddService(serviceName, serviceVersion, otlpEndpoint))
34+
.WithTracing(b => b
35+
.AddOtlpExporter(o =>
36+
{
37+
o.Endpoint = new Uri(otlpEndpoint);
38+
o.Protocol = OtlpExportProtocol.Grpc;
39+
})
40+
.AddAspNetCoreInstrumentation(o => { o.RecordException = true; })
41+
.AddHttpClientInstrumentation(o => { o.RecordException = true; })
42+
.AddSqlClientInstrumentation(o =>
43+
{
44+
o.SetDbStatementForText = true;
45+
o.SetDbStatementForStoredProcedure = true;
46+
o.EnableConnectionLevelAttributes = true;
47+
o.RecordException = true;
48+
})
49+
.AddEntityFrameworkCoreInstrumentation(o =>
50+
{
51+
o.SetDbStatementForText = true;
52+
o.SetDbStatementForStoredProcedure = true;
53+
}))
54+
.WithMetrics(b => b
55+
.AddOtlpExporter(o =>
56+
{
57+
o.Endpoint = new Uri(otlpEndpoint);
58+
o.Protocol = OtlpExportProtocol.Grpc;
59+
})
60+
.AddAspNetCoreInstrumentation()
61+
.AddHttpClientInstrumentation()
7362

74-
// Not stable yet, seems to cause some memory leaks
75-
// .AddEventCounterMetrics(options =>
76-
// {
77-
// options.RefreshIntervalSecs = 10;
78-
// })
79-
.AddRuntimeInstrumentation()
80-
);
63+
// Not stable yet, seems to cause some memory leaks
64+
// .AddEventCounterMetrics(options =>
65+
// {
66+
// options.RefreshIntervalSecs = 10;
67+
// })
68+
.AddRuntimeInstrumentation()
69+
);
8170

8271
services.AddLogging(logging =>
8372
{
8473
logging.ClearProviders();
85-
logging.Configure(options =>
86-
{
87-
options.ActivityTrackingOptions = ActivityTrackingOptions.SpanId | ActivityTrackingOptions.TraceId | ActivityTrackingOptions.ParentId | ActivityTrackingOptions.Baggage | ActivityTrackingOptions.Tags;
88-
});
74+
logging.Configure(options => { options.ActivityTrackingOptions = ActivityTrackingOptions.SpanId | ActivityTrackingOptions.TraceId | ActivityTrackingOptions.ParentId | ActivityTrackingOptions.Baggage | ActivityTrackingOptions.Tags; });
8975
logging.AddFilter("Microsoft.AspNetCore.*", LogLevel.Warning);
9076
logging.AddConsole();
9177

@@ -111,4 +97,4 @@ public static class TelemetryExtensions
11197

11298
return services;
11399
}
114-
}
100+
}

src/BF2WebAdmin.Common/TimeProvider.cs

Lines changed: 0 additions & 15 deletions
This file was deleted.

src/BF2WebAdmin.Data/BF2WebAdmin.Data.csproj

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>net7.0</TargetFramework>
4+
<TargetFramework>net9.0</TargetFramework>
55
<AssemblyName>BF2WebAdmin.Data</AssemblyName>
66
<PackageId>BF2WebAdmin.Data</PackageId>
77
<GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
88
<GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
99
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
10+
<LangVersion>default</LangVersion>
1011
</PropertyGroup>
1112

1213
<PropertyGroup>
@@ -25,15 +26,15 @@
2526
</ItemGroup>
2627

2728
<ItemGroup>
28-
<PackageReference Include="Dapper" Version="2.0.123" />
29+
<PackageReference Include="Dapper" Version="2.1.66" />
2930
<PackageReference Include="Dapper.Contrib" Version="2.0.78" />
30-
<PackageReference Include="Microsoft.Data.SqlClient" Version="5.0.1" />
31-
<PackageReference Include="Microsoft.Data.Sqlite" Version="7.0.0" />
32-
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="7.0.0">
31+
<PackageReference Include="Microsoft.Data.SqlClient" Version="6.0.2" />
32+
<PackageReference Include="Microsoft.Data.Sqlite" Version="9.0.4" />
33+
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.4">
3334
<PrivateAssets>all</PrivateAssets>
3435
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
3536
</PackageReference>
36-
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="7.0.0" />
37+
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="9.0.4" />
3738
</ItemGroup>
3839

3940
<ItemGroup>

src/BF2WebAdmin.Server/BF2WebAdmin.Server.csproj

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
<Project Sdk="Microsoft.NET.Sdk.Web">
22

33
<PropertyGroup>
4-
<TargetFramework>net7.0</TargetFramework>
4+
<TargetFramework>net9.0</TargetFramework>
55
<AssemblyName>BF2WebAdmin.Server</AssemblyName>
66
<OutputType>Exe</OutputType>
77
<PackageId>BF2WebAdmin.Server</PackageId>
8-
<RuntimeIdentifiers>win10-x64</RuntimeIdentifiers>
98
<GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
109
<GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
1110
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
@@ -14,6 +13,7 @@
1413
<ImplicitUsings>enable</ImplicitUsings>
1514
<DockerfileTag>bf2-webadmin</DockerfileTag>
1615
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
16+
<LangVersion>default</LangVersion>
1717
</PropertyGroup>
1818

1919
<!--<PropertyGroup>
@@ -42,25 +42,25 @@
4242
<PackageReference Include="AspNetCore.Authentication.ApiKey" Version="8.0.1" />
4343
<PackageReference Include="Discord.Net" Version="2.3.0" />
4444
<PackageReference Include="Humanizer.Core" Version="2.14.1" />
45-
<PackageReference Include="Mapster" Version="7.3.0" />
45+
<PackageReference Include="Mapster" Version="7.4.0" />
4646
<PackageReference Include="MassTransit.AspNetCore" Version="7.3.1" />
4747
<PackageReference Include="MassTransit.RabbitMQ" Version="7.3.0" />
4848
<PackageReference Include="MediatR.Extensions.Microsoft.DependencyInjection" Version="11.0.0" />
49-
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="7.0.0" />
50-
<PackageReference Include="Microsoft.AspNetCore.SignalR.Protocols.Json" Version="7.0.0" />
51-
<PackageReference Include="Microsoft.AspNetCore.SignalR.Protocols.MessagePack" Version="7.0.0" />
52-
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0" />
53-
<PackageReference Include="Microsoft.Extensions.Logging" Version="7.0.0" />
54-
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="7.0.0" />
55-
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.17.0" />
56-
<PackageReference Include="Polly" Version="7.2.3" />
57-
<PackageReference Include="Serilog.Sinks.File" Version="5.0.0" />
49+
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="9.0.4" />
50+
<PackageReference Include="Microsoft.AspNetCore.SignalR.Protocols.Json" Version="9.0.4" />
51+
<PackageReference Include="Microsoft.AspNetCore.SignalR.Protocols.MessagePack" Version="9.0.4" />
52+
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.4" />
53+
<PackageReference Include="Microsoft.Extensions.Logging" Version="9.0.4" />
54+
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="9.0.4" />
55+
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.21.2" />
56+
<PackageReference Include="Polly" Version="8.5.2" />
57+
<PackageReference Include="Serilog.Sinks.File" Version="7.0.0" />
5858
<PackageReference Include="SixLabors.ImageSharp" Version="1.0.0-beta0006" />
5959
<PackageReference Include="SkiaSharp" Version="2.88.2" />
6060
<PackageReference Include="StackExchange.Redis" Version="2.6.66" />
6161
<PackageReference Include="System.Collections.Concurrent" Version="4.3.0" />
62-
<PackageReference Include="System.Text.Encoding.CodePages" Version="7.0.0" />
63-
<PackageReference Include="System.Text.Json" Version="7.0.0" />
62+
<PackageReference Include="System.Text.Encoding.CodePages" Version="9.0.4" />
63+
<PackageReference Include="System.Text.Json" Version="9.0.4" />
6464
<PackageReference Include="TweetinviAPI" Version="2.0.0" />
6565
</ItemGroup>
6666

src/BF2WebAdmin.Server/ModManager.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ private void ConfigureDependencies()
194194
serviceCollection.AddSingleton<ILogger>(_ => _logger);
195195
serviceCollection.AddSingleton<ITaskRunner, TaskRunner>();
196196
serviceCollection.AddSingleton<IDelayProvider, DelayProvider>();
197-
serviceCollection.AddSingleton<ITimeProvider, TimeProvider>();
197+
serviceCollection.AddSingleton(TimeProvider.System);
198198
//serviceCollection.AddSingleton<IGameStreamService>(sp => _globalServices.GetRequiredService<RabbitMqGameStreamService>());
199199
//serviceCollection.AddSingleton<IGameStreamService>(sp => _globalServices.GetRequiredService<RedisGameStreamService>());
200200

0 commit comments

Comments
 (0)