Skip to content

Commit

Permalink
feat: .NET 7
Browse files Browse the repository at this point in the history
BREAKING CHANGE: drop .net 3.1, .net 5.0, .netstandard support. Only .net 6.0 and .net 7.0 supported. Switch to nuget central package management. ef core 7.
  • Loading branch information
SonicGD committed Dec 2, 2022
1 parent 5a2579c commit 113f2dc
Show file tree
Hide file tree
Showing 144 changed files with 349 additions and 1,103 deletions.
1 change: 1 addition & 0 deletions Sitko.Core.sln
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ MinimumVisualStudioVersion = 15.0.26124.0
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{109B331E-71B9-483C-8FC1-13B10C92A7F1}"
ProjectSection(SolutionItems) = preProject
src\Directory.Build.props = src\Directory.Build.props
src\Directory.Packages.props = src\Directory.Packages.props
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sitko.Core.IdProvider.SonyFlake", "src\Sitko.Core.IdProvider.SonyFlake\Sitko.Core.IdProvider.SonyFlake.csproj", "{6677865F-C349-4D25-9E19-3DEC43E92DD5}"
Expand Down
2 changes: 1 addition & 1 deletion apps/Sitko.Core.Apps.Blazor/Sitko.Core.Apps.Blazor.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

<ItemGroup>
<PackageReference Include="AntDesign.ProLayout" Version="0.12.4" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="6.0.10">
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="7.0.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
Expand Down
12 changes: 6 additions & 6 deletions apps/Sitko.Core.Apps.MudBlazorDemo/Pages/Scopes.razor
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
}
</MudItem>
<MudItem xs="12">
<MudFileUpload
<Sitko.Core.Blazor.MudBlazorComponents.MudFileUpload
Label="Simple file input"
HelperText="Bla-bla-bla"
Storage="Storage"
Expand All @@ -52,11 +52,11 @@
UploadPath="bars"
MaxFileSize="@(2 * 1024 * 1024)"
GenerateMetadata="@((_, _) => GenerateMetadataAsync())">
</MudFileUpload>
</Sitko.Core.Blazor.MudBlazorComponents.MudFileUpload>
</MudItem>
<MudItem xs="12">
<MudText Typo="Typo.h6" Class="mb-4">Simple custom file input</MudText>
<MudFileUpload
<Sitko.Core.Blazor.MudBlazorComponents.MudFileUpload
Storage="Storage"
@bind-Value="context.Entity.StorageItem"
For="() => context.Entity.StorageItem"
Expand All @@ -66,7 +66,7 @@
<ChildContent Context="upload">
PRESS ME
</ChildContent>
</MudFileUpload>
</Sitko.Core.Blazor.MudBlazorComponents.MudFileUpload>
</MudItem>
<MudItem xs="12">
<MudPaper Class="pa-4">
Expand All @@ -84,15 +84,15 @@
</MudItem>
<MudItem xs="12">
<MudText Typo="Typo.h6" Class="mb-4">Single image</MudText>
<MudFileUpload
<Sitko.Core.Blazor.MudBlazorComponents.MudFileUpload
Storage="Storage"
DisplayMode="FileUploadDisplayMode.Image"
@bind-Value="context.Entity.StorageItem"
For="() => context.Entity.StorageItem"
UploadPath="bars"
MaxFileSize="@(2 * 1024 * 1024)"
GenerateMetadata="@((_, _) => GenerateMetadataAsync())">
</MudFileUpload>
</Sitko.Core.Blazor.MudBlazorComponents.MudFileUpload>
</MudItem>
<MudItem xs="12">
<MudPaper Class="pa-4">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="6.0.10">
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="7.0.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
Expand Down
5 changes: 2 additions & 3 deletions apps/WASMDemo.Client/WASMDemo.Client.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,8 @@

<ItemGroup>
<PackageReference Include="MessagePack" Version="2.4.35" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="6.0.10" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="6.0.10" PrivateAssets="all" />
<PackageReference Include="MudBlazor" Version="6.0.17" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="6.0.11" PrivateAssets="all" />
<PackageReference Include="MudBlazor" Version="6.1.2" />
<ProjectReference Include="..\..\src\Sitko.Core.Blazor.Wasm\Sitko.Core.Blazor.Wasm.csproj" />
<ProjectReference Include="..\..\src\Sitko.Core.Repository.Remote.Wasm\Sitko.Core.Repository.Remote.Wasm.csproj" />
</ItemGroup>
Expand Down
2 changes: 1 addition & 1 deletion apps/WASMDemo.Server/WASMDemo.Server.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="6.0.10" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="6.0.11" />
<ProjectReference Include="..\..\src\Sitko.Core.App.Web\Sitko.Core.App.Web.csproj" />
<ProjectReference Include="..\..\src\Sitko.Core.Repository.Remote.Server\Sitko.Core.Repository.Remote.Server.csproj" />
</ItemGroup>
Expand Down
2 changes: 1 addition & 1 deletion apps/WASMDemo.Shared/WASMDemo.Shared.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="6.0.10">
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="7.0.0">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
Expand Down
2 changes: 1 addition & 1 deletion perf/Sitko.Core.App.Perf/Sitko.Core.App.Perf.csproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks>netcoreapp3.1;net5.0;net6.0</TargetFrameworks>
<TargetFrameworks>net6.0;net7.0</TargetFrameworks>
<DisableAppCheck>true</DisableAppCheck>
<OutputType>Exe</OutputType>
<IsPackable>false</IsPackable>
Expand Down
6 changes: 4 additions & 2 deletions src/Directory.Build.props
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
<Project>
<PropertyGroup>
<TargetFrameworks>net6.0;net7.0</TargetFrameworks>
<LangVersion>latest</LangVersion>
<Nullable>enable</Nullable>
<IsPackable>true</IsPackable>
<ImplicitUsings>enable</ImplicitUsings>
<!--<RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>-->
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<Authors>George Drak</Authors>
Expand All @@ -18,10 +20,10 @@
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<WarningsAsErrors>CS4014;</WarningsAsErrors>
<WarningsAsErrors>CS4014;CA2016</WarningsAsErrors>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1" PrivateAssets="All"/>
<PackageReference Include="Microsoft.SourceLink.GitHub" PrivateAssets="All"/>
</ItemGroup>
<ItemGroup>
<None Include="..\..\LICENSE.md" Pack="true" PackagePath="LICENSE.md"/>
Expand Down
167 changes: 167 additions & 0 deletions src/Directory.Packages.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,167 @@
<Project>
<PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="FluentValidation.DependencyInjectionExtensions" Version="11.3.0"/>
<PackageVersion Include="IL.FluentValidation.Extensions.Options" Version="10.0.1"/>
<PackageVersion Include="JetBrains.Annotations" Version="2022.3.1"/>
<PackageVersion Include="Newtonsoft.Json" Version="13.0.1"/>
<PackageVersion Include="Tempus" Version="1.0.0"/>
<PackageVersion Include="Scrutor" Version="4.2.0"/>
<PackageVersion Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="12.0.0"/>
<PackageVersion Include="VaultSharp.Extensions.Configuration" Version="0.5.2"/>
<PackageVersion Include="Consul" Version="1.6.10.7"/>
<PackageVersion Include="TeamsHook.NET" Version="0.1.0.18"/>
<PackageVersion Include="Telegram.Bot" Version="18.0.0"/>
<PackageVersion Include="ImgProxy" Version="2.2.0"/>
<PackageVersion Include="Nito.AsyncEx" Version="5.1.2"/>
<PackageVersion Include="MediatR.Extensions.Microsoft.DependencyInjection" Version="11.0.0"/>
<PackageVersion Include="PuppeteerSharp" Version="8.0.0"/>
<PackageVersion Include="NATS.Client" Version="1.0.2"/>
<PackageVersion Include="STAN.Client" Version="0.3.0"/>
<PackageVersion Include="System.Linq.Dynamic.Core" Version="1.2.23"/>
<PackageVersion Include="CompareNETObjects" Version="4.78.0"/>
<PackageVersion Include="Serialize.Linq" Version="2.0.0"/>
<PackageVersion Include="MimeMapping" Version="1.0.1.37"/>
<PackageVersion Include="AWSSDK.S3" Version="3.7.101.16"/>
</ItemGroup>

<!--Sitko libraries-->
<ItemGroup>
<PackageVersion Include="Sitko.FluentValidation" Version="1.5.0"/>
<PackageVersion Include="Sitko.Blazor.ScriptInjector" Version="2.0.1"/>
</ItemGroup>

<!--ASP.NET Core libraries-->
<ItemGroup>
<PackageVersion Include="idunno.Authentication.Basic" Version="2.2.3"/>
<PackageVersion Include="IdentityServer4.AccessTokenValidation" Version="3.0.1"/>
<PackageVersion Include="AspNetCore.HealthChecks.OpenIdConnectServer" Version="6.0.2"/>
<PackageVersion Include="AspNetCore.HealthChecks.Aws.S3" Version="6.0.2"/>
<PackageVersion Include="Swashbuckle.AspNetCore" Version="6.4.0"/>
<PackageVersion Include="Swashbuckle.AspNetCore.Annotations" Version="6.4.0"/>
</ItemGroup>

<!--Email libraries-->
<ItemGroup>
<PackageVersion Include="FluentEmail.Core" Version="3.0.2"/>
<PackageVersion Include="FluentEmail.Mailgun" Version="3.0.2"/>
<PackageVersion Include="MailKit" Version="3.4.2"/>
<PackageVersion Include="HtmlAgilityPack" Version="1.11.46"/>
<PackageVersion Include="Razor.Templating.Core" Version="1.8.0"/>
</ItemGroup>

<!--Blazor libraries-->
<ItemGroup>
<PackageVersion Include="AntDesign" Version="0.12.7"/>
<PackageVersion Include="Tewr.Blazor.FileReader" Version="3.3.1.21360"/>
<PackageVersion Include="MudBlazor" Version="6.1.2"/>
</ItemGroup>

<!--Tests libraries-->
<ItemGroup>
<PackageVersion Include="AutoBogus" Version="2.13.1"/>
<PackageVersion Include="FluentAssertions" Version="6.8.0"/>
<PackageVersion Include="Serilog.Sinks.XUnit" Version="3.0.3"/>
<PackageVersion Include="xunit.runner.visualstudio" Version="2.4.5"/>
<PackageVersion Include="xunit" Version="2.4.2"/>
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.4.0"/>
</ItemGroup>

<!--Hangfire libraries-->
<ItemGroup>
<PackageVersion Include="Hangfire.Core" Version="1.7.31"/>
<PackageVersion Include="Hangfire.AspNetCore" Version="1.7.31"/>
<PackageVersion Include="Hangfire.PostgreSql" Version="1.9.9"/>
<PackageVersion Include="AspNetCore.HealthChecks.Hangfire" Version="6.0.2"/>
</ItemGroup>

<!--MS libraries-->
<ItemGroup>
<PackageVersion Include="System.Threading.Channels" Version="7.0.0"/>
<PackageVersion Include="System.ComponentModel.Annotations" Version="5.0.0"/>
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="1.1.1" PrivateAssets="All"/>
<PackageVersion Include="Microsoft.Extensions.Http" Version="7.0.0"/>
<PackageVersion Include="Microsoft.Extensions.Hosting" Version="7.0.0"/>
<PackageVersion Include="Microsoft.Extensions.Localization.Abstractions" Version="7.0.0"/>
<PackageVersion Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="7.0.0"/>
<PackageVersion Include="Microsoft.Extensions.Diagnostics.HealthChecks" Version="7.0.0"/>
<PackageVersion Include="Microsoft.Extensions.Caching.Memory" Version="7.0.0"/>
</ItemGroup>

<!--EF Core libraries-->
<ItemGroup>
<PackageVersion Include="Microsoft.EntityFrameworkCore.Relational" Version="7.0.0"/>
<PackageVersion Include="Microsoft.EntityFrameworkCore.Design" Version="7.0.0"/>
<PackageVersion Include="Microsoft.EntityFrameworkCore.InMemory" Version="7.0.0"/>
<PackageVersion Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="7.0.0"/>
</ItemGroup>

<!--Elastic libraries-->
<ItemGroup>
<PackageVersion Include="Elastic.Apm.NetCoreAll" Version="1.18.0"/>
<PackageVersion Include="Elastic.Apm.SerilogEnricher" Version="1.5.3"/>
<PackageVersion Include="Elastic.CommonSchema.Serilog" Version="1.5.3"/>
<PackageVersion Include="NEST" Version="7.17.5"/>
</ItemGroup>

<!--Serilog libraries-->
<ItemGroup>
<PackageVersion Include="Serilog.Exceptions" Version="8.4.0"/>
<PackageVersion Include="Serilog.Extensions.Logging" Version="3.1.0"/>
<PackageVersion Include="Serilog.Settings.Configuration" Version="3.4.0"/>
<PackageVersion Include="Serilog.Sinks.Console" Version="4.1.0"/>
<PackageVersion Include="Serilog.Enrichers.Environment" Version="2.2.0"/>
<PackageVersion Include="Serilog.Sinks.BrowserConsole" Version="1.0.0"/>
<PackageVersion Include="Serilog.Sinks.Elasticsearch" Version="9.0.0-beta7"/>
<PackageVersion Include="Serilog.Sinks.Graylog" Version="2.3.0"/>
<PackageVersion Include="Serilog.Sinks.Async" Version="1.5.0"/>
<PackageVersion Include="Thinktecture.Extensions.Serilog.Configuration" Version="2.0.0"/>
<PackageVersion Include="NewRelic.LogEnrichers.Serilog" Version="1.0.1"/>
<PackageVersion Include="Serilog.Sinks.NewRelic.Logs" Version="1.2.0"/>
</ItemGroup>

<!--Grpc and protobuf libraries-->
<ItemGroup>
<PackageVersion Include="Grpc.Core.Api" Version="2.49.0"/>
<PackageVersion Include="Grpc.Tools" Version="2.50.0"/>
<PackageVersion Include="Google.Protobuf" Version="3.21.9"/>
<PackageVersion Include="Grpc.Net.ClientFactory" Version="2.49.0"/>
<PackageVersion Include="Grpc.Net.Client.Web" Version="2.49.0"/>
<PackageVersion Include="Grpc.AspNetCore" Version="2.49.0"/>
<PackageVersion Include="Grpc.AspNetCore.Server.Reflection" Version="2.49.0"/>
</ItemGroup>

<!--.NET 6 specific libraries-->
<ItemGroup Condition=" '$(TargetFramework)' == 'net6.0' ">
<PackageVersion Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="6.0.11"/>
<PackageVersion Include="Microsoft.Extensions.Caching.StackExchangeRedis" Version="6.0.11"/>
<PackageVersion Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="6.0.11"/>
<PackageVersion Include="Microsoft.AspNetCore.Authentication.Google" Version="6.0.11"/>
<PackageVersion Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="6.0.11"/>
<PackageVersion Include="Microsoft.AspNetCore.Components" Version="6.0.11"/>
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly" Version="6.0.11"/>
<PackageVersion Include="Microsoft.AspNetCore.Identity.UI" Version="6.0.11"/>
<PackageVersion Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="6.0.11"/>
<PackageVersion Include="Microsoft.AspNetCore.TestHost" Version="6.0.11"/>
<PackageVersion Include="Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore" Version="6.0.11"/>
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Testing" Version="6.0.11"/>
</ItemGroup>

<!--.NET 7 specific libraries-->
<ItemGroup Condition=" '$(TargetFramework)' == 'net7.0' ">
<PackageVersion Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="7.0.0"/>
<PackageVersion Include="Microsoft.Extensions.Caching.StackExchangeRedis" Version="7.0.0"/>
<PackageVersion Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="7.0.0"/>
<PackageVersion Include="Microsoft.AspNetCore.Authentication.Google" Version="7.0.0"/>
<PackageVersion Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="7.0.0"/>
<PackageVersion Include="Microsoft.AspNetCore.Components" Version="7.0.0"/>
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly" Version="7.0.0"/>
<PackageVersion Include="Microsoft.AspNetCore.Identity.UI" Version="7.0.0"/>
<PackageVersion Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="7.0.0"/>
<PackageVersion Include="Microsoft.AspNetCore.TestHost" Version="7.0.0"/>
<PackageVersion Include="Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore" Version="7.0.0"/>
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Testing" Version="7.0.0"/>
</ItemGroup>
</Project>
28 changes: 4 additions & 24 deletions src/Sitko.Core.App.Web/Sitko.Core.App.Web.csproj
Original file line number Diff line number Diff line change
@@ -1,30 +1,10 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks>netcoreapp3.1;net5.0;net6.0</TargetFrameworks>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Caching.StackExchangeRedis" Version="6.0.10" />
<PackageReference Include="Razor.Templating.Core"/>
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson"/>
<PackageReference Include="Microsoft.Extensions.Caching.StackExchangeRedis"/>
</ItemGroup>

<ItemGroup Condition=" '$(TargetFramework)' == 'netcoreapp3.1' ">
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="3.1.30" />
<PackageReference Include="Razor.Templating.Core" Version="1.6.0" />
</ItemGroup>


<ItemGroup Condition=" '$(TargetFramework)' == 'net5.0' ">
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="5.0.17" />
<PackageReference Include="Razor.Templating.Core" Version="1.6.0" />
</ItemGroup>

<ItemGroup Condition=" '$(TargetFramework)' == 'net6.0' ">
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="6.0.10" />
<PackageReference Include="Razor.Templating.Core" Version="1.7.1" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\Sitko.Core.App\Sitko.Core.App.csproj" />
<ProjectReference Include="..\Sitko.Core.App\Sitko.Core.App.csproj"/>
</ItemGroup>
</Project>
36 changes: 1 addition & 35 deletions src/Sitko.Core.App/Helpers/RandomGenerator.cs
Original file line number Diff line number Diff line change
@@ -1,15 +1,10 @@
using System;
using System.Text;
using System.Text;

namespace Sitko.Core.App.Helpers
{
public static class RandomGenerator
{
#if !NET6_0
private static readonly UniformRandom Rnd = new();
#else
private static readonly Random Rnd = Random.Shared;
#endif
private const string ValidSymbols = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";

public static string GetRandomString(int length)
Expand All @@ -25,33 +20,4 @@ public static string GetRandomString(int length)
return res.ToString();
}
}
#if !NET6_0
internal class UniformRandom
{
private static readonly System.Security.Cryptography.RNGCryptoServiceProvider Global = new();

private readonly Random rnd;

public UniformRandom()
{
var buffer = new byte[4];
Global.GetBytes(buffer);
rnd = new Random(BitConverter.ToInt32(buffer, 0));
}

public int Next() => rnd.Next();

public int Next(int maxValue) => rnd.Next(maxValue);

public int Next(int minValue, int maxValue) => rnd.Next(minValue, maxValue);

public double NextDouble() => rnd.NextDouble();

public double NextDouble(double minValue, double maxValue)
{
var r = rnd.NextDouble() * (maxValue - minValue);
return minValue + r;
}
}
#endif
}
Loading

0 comments on commit 113f2dc

Please sign in to comment.