From 36b7661e3c32e970de309182d92f0a5f68265a95 Mon Sep 17 00:00:00 2001 From: Ali Yousefi Date: Thu, 23 Nov 2023 23:12:50 +0330 Subject: [PATCH 1/3] Support for dotnet 8.0 --- .../EasyMicroservices.Cores.AspCore.Tests.csproj | 11 +++++++++-- .../EasyMicroservices.Cores.AspCoreApi.csproj | 5 ++--- ...services.Cores.AspEntityFrameworkCoreApi.csproj | 5 ++--- .../EasyMicroservices.Cores.Contracts.csproj | 5 ++--- .../EasyMicroservices.Cores.Database.csproj | 7 +++---- ...yMicroservices.Cores.EntityFrameworkCore.csproj | 7 +++---- ...ces.Cores.Relational.EntityFrameworkCore.csproj | 14 ++++++++++---- .../EasyMicroservices.Cores.Services.csproj | 1 - .../EasyMicroservices.Cores.Tests.csproj | 11 +++++++++-- 9 files changed, 40 insertions(+), 26 deletions(-) diff --git a/src/CSharp/EasyMicroservices.Cores.AspCore.Tests/EasyMicroservices.Cores.AspCore.Tests.csproj b/src/CSharp/EasyMicroservices.Cores.AspCore.Tests/EasyMicroservices.Cores.AspCore.Tests.csproj index 3e0a8e5..4fea6cc 100644 --- a/src/CSharp/EasyMicroservices.Cores.AspCore.Tests/EasyMicroservices.Cores.AspCore.Tests.csproj +++ b/src/CSharp/EasyMicroservices.Cores.AspCore.Tests/EasyMicroservices.Cores.AspCore.Tests.csproj @@ -1,7 +1,7 @@  - net7.0 + net7.0;net8.0 enable false false @@ -11,7 +11,6 @@ - runtime; build; native; contentfiles; analyzers; buildtransitive @@ -19,6 +18,14 @@ + + + + + + + + diff --git a/src/CSharp/EasyMicroservices.Cores.AspCoreApi/EasyMicroservices.Cores.AspCoreApi.csproj b/src/CSharp/EasyMicroservices.Cores.AspCoreApi/EasyMicroservices.Cores.AspCoreApi.csproj index a6177c5..f9865e1 100644 --- a/src/CSharp/EasyMicroservices.Cores.AspCoreApi/EasyMicroservices.Cores.AspCoreApi.csproj +++ b/src/CSharp/EasyMicroservices.Cores.AspCoreApi/EasyMicroservices.Cores.AspCoreApi.csproj @@ -1,11 +1,10 @@  - net6.0;net7.0 + net6.0;net7.0;net8.0 AnyCPU;x64;x86 EasyMicroservices - true - 0.0.0.49 + 0.0.0.50 asp core servces. EasyMicroservices@gmail.com core,cores,base,database,services,asp,aspnet diff --git a/src/CSharp/EasyMicroservices.Cores.AspEntityFrameworkCoreApi/EasyMicroservices.Cores.AspEntityFrameworkCoreApi.csproj b/src/CSharp/EasyMicroservices.Cores.AspEntityFrameworkCoreApi/EasyMicroservices.Cores.AspEntityFrameworkCoreApi.csproj index 87cdd6a..388e0c0 100644 --- a/src/CSharp/EasyMicroservices.Cores.AspEntityFrameworkCoreApi/EasyMicroservices.Cores.AspEntityFrameworkCoreApi.csproj +++ b/src/CSharp/EasyMicroservices.Cores.AspEntityFrameworkCoreApi/EasyMicroservices.Cores.AspEntityFrameworkCoreApi.csproj @@ -1,11 +1,10 @@  - net6.0;net7.0 + net6.0;net7.0;net8.0 AnyCPU;x64;x86 EasyMicroservices - true - 0.0.0.49 + 0.0.0.50 asp core servces. EasyMicroservices@gmail.com core,cores,base,database,services,asp,aspnet,aspcore,efcore diff --git a/src/CSharp/EasyMicroservices.Cores.Contracts/EasyMicroservices.Cores.Contracts.csproj b/src/CSharp/EasyMicroservices.Cores.Contracts/EasyMicroservices.Cores.Contracts.csproj index f8c95d9..dc142b5 100644 --- a/src/CSharp/EasyMicroservices.Cores.Contracts/EasyMicroservices.Cores.Contracts.csproj +++ b/src/CSharp/EasyMicroservices.Cores.Contracts/EasyMicroservices.Cores.Contracts.csproj @@ -1,11 +1,10 @@  - netstandard2.0;netstandard2.1;net6.0;net45 + netstandard2.0;netstandard2.1;net45;net6.0;net8.0 AnyCPU;x64;x86 EasyMicroservices - true - 0.0.0.49 + 0.0.0.50 core contracts. EasyMicroservices@gmail.com core,cores,base,contract,contracts,dto,dtos diff --git a/src/CSharp/EasyMicroservices.Cores.Database/EasyMicroservices.Cores.Database.csproj b/src/CSharp/EasyMicroservices.Cores.Database/EasyMicroservices.Cores.Database.csproj index 26a3e87..069b0f2 100644 --- a/src/CSharp/EasyMicroservices.Cores.Database/EasyMicroservices.Cores.Database.csproj +++ b/src/CSharp/EasyMicroservices.Cores.Database/EasyMicroservices.Cores.Database.csproj @@ -1,11 +1,10 @@  - netstandard2.0;netstandard2.1;net6.0;net45 + netstandard2.0;netstandard2.1;net45;net6.0;net8.0 AnyCPU;x64;x86 EasyMicroservices - true - 0.0.0.49 + 0.0.0.50 core of database. EasyMicroservices@gmail.com core,cores,base,database @@ -18,7 +17,7 @@ - + diff --git a/src/CSharp/EasyMicroservices.Cores.EntityFrameworkCore/EasyMicroservices.Cores.EntityFrameworkCore.csproj b/src/CSharp/EasyMicroservices.Cores.EntityFrameworkCore/EasyMicroservices.Cores.EntityFrameworkCore.csproj index 7d0ced3..435e497 100644 --- a/src/CSharp/EasyMicroservices.Cores.EntityFrameworkCore/EasyMicroservices.Cores.EntityFrameworkCore.csproj +++ b/src/CSharp/EasyMicroservices.Cores.EntityFrameworkCore/EasyMicroservices.Cores.EntityFrameworkCore.csproj @@ -1,11 +1,10 @@  - net6.0 + net6.0;net8.0 AnyCPU;x64;x86 EasyMicroservices - true - 0.0.0.49 + 0.0.0.50 ef core of database. EasyMicroservices@gmail.com core,cores,base,database,ef,efcore @@ -17,7 +16,7 @@ - + diff --git a/src/CSharp/EasyMicroservices.Cores.Relational.EntityFrameworkCore/EasyMicroservices.Cores.Relational.EntityFrameworkCore.csproj b/src/CSharp/EasyMicroservices.Cores.Relational.EntityFrameworkCore/EasyMicroservices.Cores.Relational.EntityFrameworkCore.csproj index 8121df2..e07cf29 100644 --- a/src/CSharp/EasyMicroservices.Cores.Relational.EntityFrameworkCore/EasyMicroservices.Cores.Relational.EntityFrameworkCore.csproj +++ b/src/CSharp/EasyMicroservices.Cores.Relational.EntityFrameworkCore/EasyMicroservices.Cores.Relational.EntityFrameworkCore.csproj @@ -1,11 +1,10 @@  - net6.0 + net6.0;net8.0 AnyCPU;x64;x86 EasyMicroservices - true - 0.0.0.49 + 0.0.0.50 ef core of Relational database. EasyMicroservices@gmail.com core,cores,base,database,ef,efcore,Relational @@ -20,9 +19,16 @@ - + + + + + + + + diff --git a/src/CSharp/EasyMicroservices.Cores.Services/EasyMicroservices.Cores.Services.csproj b/src/CSharp/EasyMicroservices.Cores.Services/EasyMicroservices.Cores.Services.csproj index b5d0fdb..5c48faf 100644 --- a/src/CSharp/EasyMicroservices.Cores.Services/EasyMicroservices.Cores.Services.csproj +++ b/src/CSharp/EasyMicroservices.Cores.Services/EasyMicroservices.Cores.Services.csproj @@ -4,7 +4,6 @@ netstandard2.0;netstandard2.1;net6.0;net45 AnyCPU;x64;x86 EasyMicroservices - true 0.0.0.1 core of database. EasyMicroservices@gmail.com diff --git a/src/CSharp/EasyMicroservices.Cores.Tests/EasyMicroservices.Cores.Tests.csproj b/src/CSharp/EasyMicroservices.Cores.Tests/EasyMicroservices.Cores.Tests.csproj index 5114fbb..2b61e0f 100644 --- a/src/CSharp/EasyMicroservices.Cores.Tests/EasyMicroservices.Cores.Tests.csproj +++ b/src/CSharp/EasyMicroservices.Cores.Tests/EasyMicroservices.Cores.Tests.csproj @@ -1,7 +1,7 @@  - net7.0;net6.0 + net6.0;net7.0;net8.0 enable false true @@ -14,7 +14,6 @@ - runtime; build; native; contentfiles; analyzers; buildtransitive @@ -22,7 +21,15 @@ + + + + + + + + From e96a1a48cb6f45f483c7607b71711877949f2787 Mon Sep 17 00:00:00 2001 From: Ali Yousefi Date: Thu, 23 Nov 2023 23:49:08 +0330 Subject: [PATCH 2/3] Support for inner object update and add and delete --- ...syMicroservices.Cores.AspCore.Tests.csproj | 3 +- .../Logics/DatabaseLogicInfrastructure.cs | 47 ++++++++++++------- .../EasyMicroservices.Cores.Database.csproj | 2 +- ...oservices.Cores.EntityFrameworkCore.csproj | 2 +- .../LongIdMappedDatabaseLogicBaseTest.cs | 46 ++++++++++++++++++ 5 files changed, 80 insertions(+), 20 deletions(-) diff --git a/src/CSharp/EasyMicroservices.Cores.AspCore.Tests/EasyMicroservices.Cores.AspCore.Tests.csproj b/src/CSharp/EasyMicroservices.Cores.AspCore.Tests/EasyMicroservices.Cores.AspCore.Tests.csproj index 4fea6cc..7b0f22a 100644 --- a/src/CSharp/EasyMicroservices.Cores.AspCore.Tests/EasyMicroservices.Cores.AspCore.Tests.csproj +++ b/src/CSharp/EasyMicroservices.Cores.AspCore.Tests/EasyMicroservices.Cores.AspCore.Tests.csproj @@ -10,7 +10,6 @@ - runtime; build; native; contentfiles; analyzers; buildtransitive @@ -20,10 +19,12 @@ + + diff --git a/src/CSharp/EasyMicroservices.Cores.Database/Database/Logics/DatabaseLogicInfrastructure.cs b/src/CSharp/EasyMicroservices.Cores.Database/Database/Logics/DatabaseLogicInfrastructure.cs index 72f75a5..11e7544 100644 --- a/src/CSharp/EasyMicroservices.Cores.Database/Database/Logics/DatabaseLogicInfrastructure.cs +++ b/src/CSharp/EasyMicroservices.Cores.Database/Database/Logics/DatabaseLogicInfrastructure.cs @@ -455,29 +455,33 @@ private async Task> InternalUpdate(IEasyWritab private async Task> InternalUpdateBulk(IEasyWritableQueryableAsync easyWritableQueryable, List entities, bool updateOnlyChangedValue, bool doSkipUpdate = true, bool doSkipDelete = true, CancellationToken cancellationToken = default) where TEntity : class { - List> items = new List>(); + List items = new List(); var result = await easyWritableQueryable.UpdateBulkAsync(entities, cancellationToken); - foreach (var entity in result) + + foreach (var entityEntry in easyWritableQueryable.Context.GetTrackerEntities()) { + if (entityEntry.EntityState != EasyMicroservices.Database.DataTypes.EntityStateType.Modified + && entityEntry.EntityState != EasyMicroservices.Database.DataTypes.EntityStateType.Deleted) + continue; if (updateOnlyChangedValue) - UpdateOnlyChangedValue(easyWritableQueryable.Context, entity.Entity); - if (entity.Entity is IDateTimeSchema schema) + UpdateOnlyChangedValue(easyWritableQueryable.Context, entityEntry.Entity); + if (entityEntry.Entity is IDateTimeSchema schema) { - easyWritableQueryable.Context.ChangeModificationPropertyState(entity.Entity, nameof(IDateTimeSchema.CreationDateTime), false); + easyWritableQueryable.Context.ChangeModificationPropertyState(entityEntry.Entity, nameof(IDateTimeSchema.CreationDateTime), false); if (!doSkipUpdate) schema.ModificationDateTime = DateTime.Now; } - if (doSkipDelete && entity.Entity is ISoftDeleteSchema) + if (doSkipDelete && entityEntry.Entity is ISoftDeleteSchema) { - easyWritableQueryable.Context.ChangeModificationPropertyState(entity.Entity, nameof(ISoftDeleteSchema.DeletedDateTime), false); - easyWritableQueryable.Context.ChangeModificationPropertyState(entity.Entity, nameof(ISoftDeleteSchema.IsDeleted), false); + easyWritableQueryable.Context.ChangeModificationPropertyState(entityEntry.Entity, nameof(ISoftDeleteSchema.DeletedDateTime), false); + easyWritableQueryable.Context.ChangeModificationPropertyState(entityEntry.Entity, nameof(ISoftDeleteSchema.IsDeleted), false); } - items.Add(entity); + items.Add(entityEntry); } await easyWritableQueryable.SaveChangesAsync(); foreach (var entity in items) await easyWritableQueryable.Context.Reload(entity.Entity, cancellationToken); - return items.Select(x => x.Entity).ToList(); + return items.Where(x => x.Entity is TEntity).Select(x => x.Entity).Cast().ToList(); } void UpdateOnlyChangedValue(IContext context, TEntity entity) @@ -726,10 +730,16 @@ public async Task SoftDeleteBy(IEasyReadableQueryableA public async Task> Add(IEasyWritableQueryableAsync easyWritableQueryable, TEntity entity, CancellationToken cancellationToken = default) where TEntity : class { - if (entity is IDateTimeSchema schema) - schema.CreationDateTime = DateTime.Now; - var result = await easyWritableQueryable.AddAsync(entity, cancellationToken); + foreach (var entityEntry in easyWritableQueryable.Context.GetTrackerEntities()) + { + if (entityEntry.EntityState != EasyMicroservices.Database.DataTypes.EntityStateType.Added) + continue; + if (entityEntry.Entity is IDateTimeSchema schema) + { + schema.CreationDateTime = DateTime.Now; + } + } await easyWritableQueryable.SaveChangesAsync(); if (_uniqueIdentityManager.UpdateUniqueIdentity(easyWritableQueryable.Context, result.Entity)) { @@ -750,13 +760,16 @@ public async Task> Add(IEasyWritableQueryableA public async Task AddBulk(IEasyWritableQueryableAsync easyWritableQueryable, IEnumerable entities, CancellationToken cancellationToken = default) where TEntity : class { - foreach (var item in entities) + var result = await easyWritableQueryable.AddBulkAsync(entities, cancellationToken); + foreach (var entityEntry in easyWritableQueryable.Context.GetTrackerEntities()) { - if (item is IDateTimeSchema schema) + if (entityEntry.EntityState != EasyMicroservices.Database.DataTypes.EntityStateType.Added) + continue; + if (entityEntry.Entity is IDateTimeSchema schema) + { schema.CreationDateTime = DateTime.Now; + } } - - var result = await easyWritableQueryable.AddBulkAsync(entities, cancellationToken); await easyWritableQueryable.SaveChangesAsync(); bool anyUpdate = false; foreach (var item in result) diff --git a/src/CSharp/EasyMicroservices.Cores.Database/EasyMicroservices.Cores.Database.csproj b/src/CSharp/EasyMicroservices.Cores.Database/EasyMicroservices.Cores.Database.csproj index 069b0f2..c8bbcba 100644 --- a/src/CSharp/EasyMicroservices.Cores.Database/EasyMicroservices.Cores.Database.csproj +++ b/src/CSharp/EasyMicroservices.Cores.Database/EasyMicroservices.Cores.Database.csproj @@ -17,7 +17,7 @@ - + diff --git a/src/CSharp/EasyMicroservices.Cores.EntityFrameworkCore/EasyMicroservices.Cores.EntityFrameworkCore.csproj b/src/CSharp/EasyMicroservices.Cores.EntityFrameworkCore/EasyMicroservices.Cores.EntityFrameworkCore.csproj index 435e497..2be24a4 100644 --- a/src/CSharp/EasyMicroservices.Cores.EntityFrameworkCore/EasyMicroservices.Cores.EntityFrameworkCore.csproj +++ b/src/CSharp/EasyMicroservices.Cores.EntityFrameworkCore/EasyMicroservices.Cores.EntityFrameworkCore.csproj @@ -16,7 +16,7 @@ - + diff --git a/src/CSharp/EasyMicroservices.Cores.Tests/DatabaseLogics/LongIdMappedDatabaseLogicBaseTest.cs b/src/CSharp/EasyMicroservices.Cores.Tests/DatabaseLogics/LongIdMappedDatabaseLogicBaseTest.cs index e60467b..ca99073 100644 --- a/src/CSharp/EasyMicroservices.Cores.Tests/DatabaseLogics/LongIdMappedDatabaseLogicBaseTest.cs +++ b/src/CSharp/EasyMicroservices.Cores.Tests/DatabaseLogics/LongIdMappedDatabaseLogicBaseTest.cs @@ -468,6 +468,52 @@ public async Task SoftDeleteAsync(string userName) Assert.Equal(FailedReasonType.NotFound, found.Error.FailedReasonType); } + [Theory] + [InlineData("Mahdi")] + [InlineData("Hassan")] + public async Task SoftDeleteInnerAsync(string userName) + { + await using var logic = GetContractLogic(); + var addUser = new UserEntity() + { + UserName = userName + Guid.NewGuid(), + Profiles = new List() + { + new ProfileEntity() + { + FirstName = "Test" + } + } + }; + var user = await logic.Add(addUser); + Assert.True(user.IsSuccess); + var found = await logic.GetBy(x => x.UserName == addUser.UserName, q => q.Include(x => x.Profiles)); + Assert.True(found.IsSuccess); + Assert.True(found.Result.CreationDateTime > DateTime.Now.AddMinutes(-5)); + Assert.True(found.Result.ModificationDateTime == null); + await using var profileLogic = GetProfileContractLogic(); + var foundProfile = await profileLogic.GetBy(x => x.UserId == found.Result.Id); + Assert.True(foundProfile.IsSuccess); + Assert.True(foundProfile.Result.CreationDateTime > DateTime.Now.AddMinutes(-5)); + Assert.True(foundProfile.Result.ModificationDateTime == null); + found.Result.UserName = "updated" + Guid.NewGuid(); + found.Result.Profiles.First().FirstName = "updated" + Guid.NewGuid(); + logic.Dispose(); + await using var logic2 = GetContractLogic(); + + var updated = await logic2.Update(found.Result); + var found2 = await logic2.GetBy(x => x.UserName == found.Result.UserName); + Assert.True(found2.IsSuccess); + Assert.True(found2.Result.CreationDateTime > DateTime.Now.AddMinutes(-5)); + Assert.True(found2.Result.ModificationDateTime > DateTime.Now.AddMinutes(-5)); + + await using var profileLogic2 = GetProfileContractLogic(); + var foundProfile2 = await profileLogic2.GetBy(x => x.UserId == found.Result.Id); + Assert.True(foundProfile2.IsSuccess); + Assert.True(foundProfile2.Result.CreationDateTime > DateTime.Now.AddMinutes(-5)); + Assert.True(foundProfile2.Result.ModificationDateTime > DateTime.Now.AddMinutes(-5)); + } + [Theory] [InlineData("Ali", new string[] { "Hossein", "HosseinA", "HosseinB", "HosseinC" })] public async Task SoftDeleteBulkByIdsAsync(string name, string[] userNames) From 8bda8c8ab4f2e982d90963c39bff7bcad51064e4 Mon Sep 17 00:00:00 2001 From: Ali Yousefi Date: Thu, 23 Nov 2023 23:51:02 +0330 Subject: [PATCH 3/3] update github actions --- .github/workflows/dotnet-format-action.yml | 2 ++ .github/workflows/dotnet-linux.yml | 2 ++ .github/workflows/dotnet-macos.yml | 2 ++ .github/workflows/dotnet-windows.yml | 2 ++ .github/workflows/nuget-push-public-linux.yml | 1 + .github/workflows/nuget-push-public-windows.yml | 1 + 6 files changed, 10 insertions(+) diff --git a/.github/workflows/dotnet-format-action.yml b/.github/workflows/dotnet-format-action.yml index 03cbee3..d3d2c53 100644 --- a/.github/workflows/dotnet-format-action.yml +++ b/.github/workflows/dotnet-format-action.yml @@ -15,6 +15,7 @@ jobs: dotnet-version: | 6.0.x 7.0.x + 8.0.x - name: Run dotnet format id: format uses: jfversluis/dotnet-format@v1.0.5 @@ -26,6 +27,7 @@ jobs: run: | dotnet test ./src/CSharp/EasyMicroservices.Cores.sln -f net6.0 dotnet test ./src/CSharp/EasyMicroservices.Cores.sln -f net7.0 + dotnet test ./src/CSharp/EasyMicroservices.Cores.sln -f net8.0 - name: Commit files if: steps.format.outputs.has-changes == 'true' uses: EndBug/add-and-commit@v4.1.0 diff --git a/.github/workflows/dotnet-linux.yml b/.github/workflows/dotnet-linux.yml index 54d624f..f3da1db 100644 --- a/.github/workflows/dotnet-linux.yml +++ b/.github/workflows/dotnet-linux.yml @@ -17,6 +17,7 @@ jobs: dotnet-version: | 6.0.x 7.0.x + 8.0.x env: NUGET_CERT_REVOCATION_MODE: offline - name: Restore dependencies @@ -27,3 +28,4 @@ jobs: run: | dotnet test ./src/CSharp/EasyMicroservices.Cores.sln --no-build --verbosity normal -f net6.0 dotnet test ./src/CSharp/EasyMicroservices.Cores.sln --no-build --verbosity normal -f net7.0 + dotnet test ./src/CSharp/EasyMicroservices.Cores.sln --no-build --verbosity normal -f net8.0 diff --git a/.github/workflows/dotnet-macos.yml b/.github/workflows/dotnet-macos.yml index 0289d0c..b88bc1b 100644 --- a/.github/workflows/dotnet-macos.yml +++ b/.github/workflows/dotnet-macos.yml @@ -17,6 +17,7 @@ jobs: dotnet-version: | 6.0.x 7.0.x + 8.0.x env: NUGET_CERT_REVOCATION_MODE: offline - name: Restore dependencies @@ -27,3 +28,4 @@ jobs: run: | dotnet test ./src/CSharp/EasyMicroservices.Cores.sln --no-build --verbosity normal -f net6.0 dotnet test ./src/CSharp/EasyMicroservices.Cores.sln --no-build --verbosity normal -f net7.0 + dotnet test ./src/CSharp/EasyMicroservices.Cores.sln --no-build --verbosity normal -f net8.0 diff --git a/.github/workflows/dotnet-windows.yml b/.github/workflows/dotnet-windows.yml index 70c6c44..ca2f216 100644 --- a/.github/workflows/dotnet-windows.yml +++ b/.github/workflows/dotnet-windows.yml @@ -17,6 +17,7 @@ jobs: dotnet-version: | 6.0.x 7.0.x + 8.0.x env: NUGET_CERT_REVOCATION_MODE: offline - name: Restore dependencies @@ -27,3 +28,4 @@ jobs: run: | dotnet test ./src/CSharp/EasyMicroservices.Cores.sln --no-build --verbosity normal -f net6.0 dotnet test ./src/CSharp/EasyMicroservices.Cores.sln --no-build --verbosity normal -f net7.0 + dotnet test ./src/CSharp/EasyMicroservices.Cores.sln --no-build --verbosity normal -f net8.0 diff --git a/.github/workflows/nuget-push-public-linux.yml b/.github/workflows/nuget-push-public-linux.yml index ff424a3..1a4b64f 100644 --- a/.github/workflows/nuget-push-public-linux.yml +++ b/.github/workflows/nuget-push-public-linux.yml @@ -12,6 +12,7 @@ jobs: dotnet-version: | 6.0.x 7.0.x + 8.0.x - name: Restore dependencies run: dotnet restore ./src/CSharp/EasyMicroservices.Cores.sln - name: Build diff --git a/.github/workflows/nuget-push-public-windows.yml b/.github/workflows/nuget-push-public-windows.yml index 9bcb3ef..42b2fea 100644 --- a/.github/workflows/nuget-push-public-windows.yml +++ b/.github/workflows/nuget-push-public-windows.yml @@ -12,6 +12,7 @@ jobs: dotnet-version: | 6.0.x 7.0.x + 8.0.x env: DOTNET_INSTALL_DIR: /usr/share/dotnet - name: Restore dependencies