From 8e463172ca9cbd90702ea66945520d86562c3fdf Mon Sep 17 00:00:00 2001 From: Sebastian Stehle Date: Sun, 22 Mar 2026 21:52:37 +0100 Subject: [PATCH] Update dotnet --- .github/workflows/dev.yml | 6 +- Dockerfile | 4 +- backend/Squidex.sln | 321 ------------------ backend/Squidex.slnx | 43 +++ .../APM/Zipkin/ZipkinPlugin.cs | 37 -- .../Squidex.Extensions.csproj | 37 +- backend/global.json | 5 - .../Squidex.Translator.csproj | 2 +- backend/src/Migrations/Migrations.csproj | 6 +- .../Apps/Entities/Apps/EFAppRepository.cs | 3 +- .../EFAssetFolderRepository_SnapshotStore.cs | 2 +- .../Assets/EFAssetRepository_SnapshotStore.cs | 2 +- .../Apps/Entities/Contents/Extensions.cs | 2 +- .../Entities/Schemas/EFSchemaRepository.cs | 2 +- .../Apps/Entities/Teams/EFTeamRepository.cs | 2 +- .../Infrastructure/BulkInserter.cs | 2 +- .../Infrastructure/Extensions.cs | 4 +- .../Infrastructure/States/EFSnapshotStore.cs | 2 +- .../Providers/MySql/Content/JsonFunction.cs | 5 - .../Providers/MySql/JsonFunction.cs | 2 +- .../Squidex.Data.EntityFramework.csproj | 56 +-- .../Entities/Contents/Text/AtlasTextIndex.cs | 2 +- .../Infrastructure/BsonDomainIdSerializer.cs | 11 +- .../Infrastructure/MongoClientFactory.cs | 6 - .../Squidex.Data.MongoDb/ServiceExtensions.cs | 2 +- .../Squidex.Data.MongoDb.csproj | 29 +- .../Squidex.Domain.Apps.Core.Model.csproj | 13 +- .../GenerateJsonSchema/JsonTypeVisitor.cs | 3 +- .../Extensions/EventFluidExtensions.cs | 12 +- ...Squidex.Domain.Apps.Core.Operations.csproj | 21 +- .../Extensions/JsonArrayFluidValue.cs | 4 +- .../Apps/DefaultAppLogStore.cs | 2 +- .../Squidex.Domain.Apps.Entities.csproj | 32 +- .../Squidex.Domain.Apps.Events.csproj | 6 +- .../Squidex.Domain.Users.csproj | 10 +- .../CollectionExtensions.cs | 5 - .../DisposableObjectBase.cs | 2 +- .../EventSourcing/EnvelopeExtensions.cs | 3 +- .../Json/Objects/JsonValue.cs | 2 +- .../Queries/OData/ConstantWithTypeVisitor.cs | 2 +- .../Squidex.Infrastructure.csproj | 38 +-- .../src/Squidex.Shared/Squidex.Shared.csproj | 5 +- .../Pipeline/ActionContextLogAppender.cs | 15 +- backend/src/Squidex.Web/Squidex.Web.csproj | 12 +- .../Config/ApplicationExtensions.cs | 12 +- .../Config/ApplicationManager.cs | 8 +- .../Config/DynamicApplicationStore.cs | 4 +- .../Config/IdentityServerServices.cs | 10 +- .../Connect/AuthorizationController.cs | 2 +- .../Config/Domain/EventSourcingServices.cs | 11 - backend/src/Squidex/Config/Web/WebServices.cs | 3 - backend/src/Squidex/Squidex.csproj | 88 ++--- .../Squidex.Data.Tests.CodeGenerator.csproj | 6 +- .../Migrations/MySqlMigrationTests.cs | 2 +- .../Migrations/PostgresMigrationTests.cs | 3 +- .../Migrations/SqlServerMigrationTests.cs | 4 +- .../TestHelpers/MySqlFixture.cs | 2 +- .../TestHelpers/PostgresFixture.cs | 3 +- .../TestHelpers/SqlServerFixture.cs | 3 +- .../Domain/Contents/Text/AtlasParsingTests.cs | 2 +- .../MongoDb/TestHelpers/DocumentDbFixture.cs | 2 +- .../MongoDb/TestHelpers/MongoFixture.cs | 2 +- .../Squidex.Data.Tests.csproj | 34 +- .../ConvertContent/DefaultValuesTests.cs | 9 +- .../Squidex.Domain.Apps.Core.Tests.csproj | 22 +- ...ontentsBulkUpdateCommandMiddlewareTests.cs | 20 +- .../Contents/GraphQL/TestContent.cs | 7 +- .../Text/ElasticSearchTextIndexFixture.cs | 2 +- .../Squidex.Domain.Apps.Entities.Tests.csproj | 38 +-- .../TestHelpers/VerifySettings.cs | 4 +- .../Squidex.Domain.Users.Tests.csproj | 16 +- .../Json/Objects/JsonObjectTests.cs | 5 +- .../Migrations/MigratorTests.cs | 2 +- .../Squidex.Infrastructure.Tests.csproj | 26 +- .../Squidex.Web.Tests.csproj | 16 +- .../GenerateLanguages.csproj | 2 +- frontend/generator/Generator/Generator.csproj | 2 +- .../TestSuite.ApiTests.csproj | 18 +- .../TestSuite.LoadTests.csproj | 8 +- .../TestSuite.Shared/TestSuite.Shared.csproj | 18 +- tools/TestSuite/TestSuite.sln | 37 -- tools/TestSuite/TestSuite.slnx | 5 + 82 files changed, 424 insertions(+), 816 deletions(-) delete mode 100644 backend/Squidex.sln create mode 100644 backend/Squidex.slnx delete mode 100644 backend/extensions/Squidex.Extensions/APM/Zipkin/ZipkinPlugin.cs delete mode 100644 backend/global.json delete mode 100644 backend/src/Squidex.Data.EntityFramework/Providers/MySql/Content/JsonFunction.cs delete mode 100644 tools/TestSuite/TestSuite.sln create mode 100644 tools/TestSuite/TestSuite.slnx diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml index ae4375fe3..d17bcee6c 100644 --- a/.github/workflows/dev.yml +++ b/.github/workflows/dev.yml @@ -40,7 +40,7 @@ jobs: id: dotnet uses: actions/setup-dotnet@v4.3.1 with: - dotnet-version: 8.0.x + dotnet-version: 10.0.x # Note: Unless a concrete version is specified in the `global.json` file, # the latest .NET version installed on the runner (including preinstalled @@ -67,7 +67,7 @@ jobs: - name: Prepare - Setup dotnet uses: actions/setup-dotnet@v4.3.1 with: - dotnet-version: 8.0.x + dotnet-version: 10.0.x - name: Prepare - Setup Node uses: actions/setup-node@v4.4.0 @@ -175,7 +175,7 @@ jobs: - name: Prepare - Setup dotnet uses: actions/setup-dotnet@v4.3.1 with: - dotnet-version: 8.0.x + dotnet-version: 10.0.x - name: Prepare - Setup Node uses: actions/setup-node@v4.4.0 diff --git a/Dockerfile b/Dockerfile index 9e9b964ae..70ba4bb20 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,7 +2,7 @@ # Stage 1, Build Backend # -FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:8.0 AS backend +FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:10.0 AS backend # FFMPEG for tests RUN apt-get update \ @@ -79,7 +79,7 @@ RUN cp -a build /build/ # # Stage 3, Build runtime # -FROM mcr.microsoft.com/dotnet/aspnet:8.0-bookworm-slim +FROM mcr.microsoft.com/dotnet/aspnet:10.0-bookworm-slim ARG SQUIDEX__RUNTIME__VERSION=7.0.0 diff --git a/backend/Squidex.sln b/backend/Squidex.sln deleted file mode 100644 index 8cd4e51bb..000000000 --- a/backend/Squidex.sln +++ /dev/null @@ -1,321 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.0.31903.59 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Squidex", "src\Squidex\Squidex.csproj", "{61F6BBCE-A080-4400-B194-70E2F5D2096E}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "infrastructure", "infrastructure", "{8CF53B92-5EB1-461D-98F8-70DA9B603FBF}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "domain", "domain", "{4C6B06C2-6D77-4E0E-AE32-D7050236433A}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Squidex.Infrastructure", "src\Squidex.Infrastructure\Squidex.Infrastructure.csproj", "{BD1C30A8-8FFA-4A92-A9BD-B67B1CDDD84C}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Squidex.Domain.Apps.Events", "src\Squidex.Domain.Apps.Events\Squidex.Domain.Apps.Events.csproj", "{25F66C64-058A-4D44-BC0C-F12A054F9A91}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Squidex.Infrastructure.Tests", "tests\Squidex.Infrastructure.Tests\Squidex.Infrastructure.Tests.csproj", "{7FD0A92B-7862-4BB1-932B-B52A9CACB56B}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Squidex.Domain.Apps.Core.Tests", "tests\Squidex.Domain.Apps.Core.Tests\Squidex.Domain.Apps.Core.Tests.csproj", "{FD0AFD44-7A93-4F9E-B5ED-72582392E435}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tools", "tools", "{94207AA6-4923-4183-A558-E0F8196B8CA3}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Squidex.Shared", "src\Squidex.Shared\Squidex.Shared.csproj", "{5E75AB7D-6F01-4313-AFF1-7F7128FFD71F}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Squidex.Domain.Users", "src\Squidex.Domain.Users\Squidex.Domain.Users.csproj", "{F7771E22-47BD-45C4-A133-FD7F1DE27CA0}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Squidex.Domain.Users.Tests", "tests\Squidex.Domain.Users.Tests\Squidex.Domain.Users.Tests.csproj", "{42184546-E3CB-4D4F-9495-43979B9C63B9}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{360C300D-0F7E-439D-A437-714C959E3CAD}" - ProjectSection(SolutionItems) = preProject - Squidex.ruleset = Squidex.ruleset - stylecop.json = stylecop.json - EndProjectSection -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Squidex.Domain.Apps.Core.Model", "src\Squidex.Domain.Apps.Core.Model\Squidex.Domain.Apps.Core.Model.csproj", "{F0A83301-50A5-40EA-A1A2-07C7858F5A3F}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Squidex.Domain.Apps.Core.Operations", "src\Squidex.Domain.Apps.Core.Operations\Squidex.Domain.Apps.Core.Operations.csproj", "{6B3F75B6-5888-468E-BA4F-4FC725DAEF31}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Squidex.Domain.Apps.Entities", "src\Squidex.Domain.Apps.Entities\Squidex.Domain.Apps.Entities.csproj", "{79FEF326-CA5E-4698-B2BA-C16A4580B4D5}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Squidex.Domain.Apps.Entities.Tests", "tests\Squidex.Domain.Apps.Entities.Tests\Squidex.Domain.Apps.Entities.Tests.csproj", "{AA003372-CD8D-4DBC-962C-F61E0C93CF05}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Squidex.Web.Tests", "tests\Squidex.Web.Tests\Squidex.Web.Tests.csproj", "{7E8CC864-4C6E-496F-A672-9F9AD8874835}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "extensions", "extensions", "{FB8BC3A2-2010-4C3C-A87D-D4A98C05EE52}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Squidex.Extensions", "extensions\Squidex.Extensions\Squidex.Extensions.csproj", "{F3C41B82-6A67-409A-B7FE-54543EE4F38B}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "shared", "shared", "{7EDE8CF1-B1E4-4005-B154-834B944E0D7A}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Squidex.Web", "src\Squidex.Web\Squidex.Web.csproj", "{5B2D251F-46E3-486A-AE16-E3FE06B559ED}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Migrations", "src\Migrations\Migrations.csproj", "{23615A39-F3FB-4575-A91C-535899DFB636}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "data", "data", "{3378B841-53F8-48CC-87C1-1B30CF912BFD}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Squidex.Data.MongoDb", "src\Squidex.Data.MongoDb\Squidex.Data.MongoDb.csproj", "{F754F05E-02FF-47B2-AB46-BB05C7E6B29D}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Squidex.Data.Tests", "tests\Squidex.Data.Tests\Squidex.Data.Tests.csproj", "{AA2F3C32-E3C8-4DF3-A365-F25C7EC19BCD}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Squidex.Data.EntityFramework", "src\Squidex.Data.EntityFramework\Squidex.Data.EntityFramework.csproj", "{0348CFDA-4DA1-4DB5-9C6F-0D234FE3E4DA}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Squidex.Data.Tests.CodeGenerator", "tests\Squidex.Data.Tests.CodeGenerator\Squidex.Data.Tests.CodeGenerator.csproj", "{2E4CC21D-3AB9-4B8C-A13E-348AA3E2F328}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|Any CPU = Release|Any CPU - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {61F6BBCE-A080-4400-B194-70E2F5D2096E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {61F6BBCE-A080-4400-B194-70E2F5D2096E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {61F6BBCE-A080-4400-B194-70E2F5D2096E}.Debug|x64.ActiveCfg = Debug|Any CPU - {61F6BBCE-A080-4400-B194-70E2F5D2096E}.Debug|x86.ActiveCfg = Debug|Any CPU - {61F6BBCE-A080-4400-B194-70E2F5D2096E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {61F6BBCE-A080-4400-B194-70E2F5D2096E}.Release|Any CPU.Build.0 = Release|Any CPU - {61F6BBCE-A080-4400-B194-70E2F5D2096E}.Release|x64.ActiveCfg = Release|Any CPU - {61F6BBCE-A080-4400-B194-70E2F5D2096E}.Release|x86.ActiveCfg = Release|Any CPU - {BD1C30A8-8FFA-4A92-A9BD-B67B1CDDD84C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {BD1C30A8-8FFA-4A92-A9BD-B67B1CDDD84C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {BD1C30A8-8FFA-4A92-A9BD-B67B1CDDD84C}.Debug|x64.ActiveCfg = Debug|Any CPU - {BD1C30A8-8FFA-4A92-A9BD-B67B1CDDD84C}.Debug|x86.ActiveCfg = Debug|Any CPU - {BD1C30A8-8FFA-4A92-A9BD-B67B1CDDD84C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {BD1C30A8-8FFA-4A92-A9BD-B67B1CDDD84C}.Release|Any CPU.Build.0 = Release|Any CPU - {BD1C30A8-8FFA-4A92-A9BD-B67B1CDDD84C}.Release|x64.ActiveCfg = Release|Any CPU - {BD1C30A8-8FFA-4A92-A9BD-B67B1CDDD84C}.Release|x86.ActiveCfg = Release|Any CPU - {25F66C64-058A-4D44-BC0C-F12A054F9A91}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {25F66C64-058A-4D44-BC0C-F12A054F9A91}.Debug|Any CPU.Build.0 = Debug|Any CPU - {25F66C64-058A-4D44-BC0C-F12A054F9A91}.Debug|x64.ActiveCfg = Debug|Any CPU - {25F66C64-058A-4D44-BC0C-F12A054F9A91}.Debug|x86.ActiveCfg = Debug|Any CPU - {25F66C64-058A-4D44-BC0C-F12A054F9A91}.Release|Any CPU.ActiveCfg = Release|Any CPU - {25F66C64-058A-4D44-BC0C-F12A054F9A91}.Release|Any CPU.Build.0 = Release|Any CPU - {25F66C64-058A-4D44-BC0C-F12A054F9A91}.Release|x64.ActiveCfg = Release|Any CPU - {25F66C64-058A-4D44-BC0C-F12A054F9A91}.Release|x86.ActiveCfg = Release|Any CPU - {7FD0A92B-7862-4BB1-932B-B52A9CACB56B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7FD0A92B-7862-4BB1-932B-B52A9CACB56B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7FD0A92B-7862-4BB1-932B-B52A9CACB56B}.Debug|x64.ActiveCfg = Debug|Any CPU - {7FD0A92B-7862-4BB1-932B-B52A9CACB56B}.Debug|x86.ActiveCfg = Debug|Any CPU - {7FD0A92B-7862-4BB1-932B-B52A9CACB56B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7FD0A92B-7862-4BB1-932B-B52A9CACB56B}.Release|Any CPU.Build.0 = Release|Any CPU - {7FD0A92B-7862-4BB1-932B-B52A9CACB56B}.Release|x64.ActiveCfg = Release|Any CPU - {7FD0A92B-7862-4BB1-932B-B52A9CACB56B}.Release|x86.ActiveCfg = Release|Any CPU - {FD0AFD44-7A93-4F9E-B5ED-72582392E435}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {FD0AFD44-7A93-4F9E-B5ED-72582392E435}.Debug|Any CPU.Build.0 = Debug|Any CPU - {FD0AFD44-7A93-4F9E-B5ED-72582392E435}.Debug|x64.ActiveCfg = Debug|Any CPU - {FD0AFD44-7A93-4F9E-B5ED-72582392E435}.Debug|x86.ActiveCfg = Debug|Any CPU - {FD0AFD44-7A93-4F9E-B5ED-72582392E435}.Release|Any CPU.ActiveCfg = Release|Any CPU - {FD0AFD44-7A93-4F9E-B5ED-72582392E435}.Release|Any CPU.Build.0 = Release|Any CPU - {FD0AFD44-7A93-4F9E-B5ED-72582392E435}.Release|x64.ActiveCfg = Release|Any CPU - {FD0AFD44-7A93-4F9E-B5ED-72582392E435}.Release|x86.ActiveCfg = Release|Any CPU - {5E75AB7D-6F01-4313-AFF1-7F7128FFD71F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {5E75AB7D-6F01-4313-AFF1-7F7128FFD71F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5E75AB7D-6F01-4313-AFF1-7F7128FFD71F}.Debug|x64.ActiveCfg = Debug|Any CPU - {5E75AB7D-6F01-4313-AFF1-7F7128FFD71F}.Debug|x64.Build.0 = Debug|Any CPU - {5E75AB7D-6F01-4313-AFF1-7F7128FFD71F}.Debug|x86.ActiveCfg = Debug|Any CPU - {5E75AB7D-6F01-4313-AFF1-7F7128FFD71F}.Debug|x86.Build.0 = Debug|Any CPU - {5E75AB7D-6F01-4313-AFF1-7F7128FFD71F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {5E75AB7D-6F01-4313-AFF1-7F7128FFD71F}.Release|Any CPU.Build.0 = Release|Any CPU - {5E75AB7D-6F01-4313-AFF1-7F7128FFD71F}.Release|x64.ActiveCfg = Release|Any CPU - {5E75AB7D-6F01-4313-AFF1-7F7128FFD71F}.Release|x64.Build.0 = Release|Any CPU - {5E75AB7D-6F01-4313-AFF1-7F7128FFD71F}.Release|x86.ActiveCfg = Release|Any CPU - {5E75AB7D-6F01-4313-AFF1-7F7128FFD71F}.Release|x86.Build.0 = Release|Any CPU - {F7771E22-47BD-45C4-A133-FD7F1DE27CA0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F7771E22-47BD-45C4-A133-FD7F1DE27CA0}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F7771E22-47BD-45C4-A133-FD7F1DE27CA0}.Debug|x64.ActiveCfg = Debug|Any CPU - {F7771E22-47BD-45C4-A133-FD7F1DE27CA0}.Debug|x64.Build.0 = Debug|Any CPU - {F7771E22-47BD-45C4-A133-FD7F1DE27CA0}.Debug|x86.ActiveCfg = Debug|Any CPU - {F7771E22-47BD-45C4-A133-FD7F1DE27CA0}.Debug|x86.Build.0 = Debug|Any CPU - {F7771E22-47BD-45C4-A133-FD7F1DE27CA0}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F7771E22-47BD-45C4-A133-FD7F1DE27CA0}.Release|Any CPU.Build.0 = Release|Any CPU - {F7771E22-47BD-45C4-A133-FD7F1DE27CA0}.Release|x64.ActiveCfg = Release|Any CPU - {F7771E22-47BD-45C4-A133-FD7F1DE27CA0}.Release|x64.Build.0 = Release|Any CPU - {F7771E22-47BD-45C4-A133-FD7F1DE27CA0}.Release|x86.ActiveCfg = Release|Any CPU - {F7771E22-47BD-45C4-A133-FD7F1DE27CA0}.Release|x86.Build.0 = Release|Any CPU - {42184546-E3CB-4D4F-9495-43979B9C63B9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {42184546-E3CB-4D4F-9495-43979B9C63B9}.Debug|Any CPU.Build.0 = Debug|Any CPU - {42184546-E3CB-4D4F-9495-43979B9C63B9}.Debug|x64.ActiveCfg = Debug|Any CPU - {42184546-E3CB-4D4F-9495-43979B9C63B9}.Debug|x64.Build.0 = Debug|Any CPU - {42184546-E3CB-4D4F-9495-43979B9C63B9}.Debug|x86.ActiveCfg = Debug|Any CPU - {42184546-E3CB-4D4F-9495-43979B9C63B9}.Debug|x86.Build.0 = Debug|Any CPU - {42184546-E3CB-4D4F-9495-43979B9C63B9}.Release|Any CPU.ActiveCfg = Release|Any CPU - {42184546-E3CB-4D4F-9495-43979B9C63B9}.Release|Any CPU.Build.0 = Release|Any CPU - {42184546-E3CB-4D4F-9495-43979B9C63B9}.Release|x64.ActiveCfg = Release|Any CPU - {42184546-E3CB-4D4F-9495-43979B9C63B9}.Release|x64.Build.0 = Release|Any CPU - {42184546-E3CB-4D4F-9495-43979B9C63B9}.Release|x86.ActiveCfg = Release|Any CPU - {42184546-E3CB-4D4F-9495-43979B9C63B9}.Release|x86.Build.0 = Release|Any CPU - {F0A83301-50A5-40EA-A1A2-07C7858F5A3F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F0A83301-50A5-40EA-A1A2-07C7858F5A3F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F0A83301-50A5-40EA-A1A2-07C7858F5A3F}.Debug|x64.ActiveCfg = Debug|Any CPU - {F0A83301-50A5-40EA-A1A2-07C7858F5A3F}.Debug|x64.Build.0 = Debug|Any CPU - {F0A83301-50A5-40EA-A1A2-07C7858F5A3F}.Debug|x86.ActiveCfg = Debug|Any CPU - {F0A83301-50A5-40EA-A1A2-07C7858F5A3F}.Debug|x86.Build.0 = Debug|Any CPU - {F0A83301-50A5-40EA-A1A2-07C7858F5A3F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F0A83301-50A5-40EA-A1A2-07C7858F5A3F}.Release|Any CPU.Build.0 = Release|Any CPU - {F0A83301-50A5-40EA-A1A2-07C7858F5A3F}.Release|x64.ActiveCfg = Release|Any CPU - {F0A83301-50A5-40EA-A1A2-07C7858F5A3F}.Release|x64.Build.0 = Release|Any CPU - {F0A83301-50A5-40EA-A1A2-07C7858F5A3F}.Release|x86.ActiveCfg = Release|Any CPU - {F0A83301-50A5-40EA-A1A2-07C7858F5A3F}.Release|x86.Build.0 = Release|Any CPU - {6B3F75B6-5888-468E-BA4F-4FC725DAEF31}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {6B3F75B6-5888-468E-BA4F-4FC725DAEF31}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6B3F75B6-5888-468E-BA4F-4FC725DAEF31}.Debug|x64.ActiveCfg = Debug|Any CPU - {6B3F75B6-5888-468E-BA4F-4FC725DAEF31}.Debug|x64.Build.0 = Debug|Any CPU - {6B3F75B6-5888-468E-BA4F-4FC725DAEF31}.Debug|x86.ActiveCfg = Debug|Any CPU - {6B3F75B6-5888-468E-BA4F-4FC725DAEF31}.Debug|x86.Build.0 = Debug|Any CPU - {6B3F75B6-5888-468E-BA4F-4FC725DAEF31}.Release|Any CPU.ActiveCfg = Release|Any CPU - {6B3F75B6-5888-468E-BA4F-4FC725DAEF31}.Release|Any CPU.Build.0 = Release|Any CPU - {6B3F75B6-5888-468E-BA4F-4FC725DAEF31}.Release|x64.ActiveCfg = Release|Any CPU - {6B3F75B6-5888-468E-BA4F-4FC725DAEF31}.Release|x64.Build.0 = Release|Any CPU - {6B3F75B6-5888-468E-BA4F-4FC725DAEF31}.Release|x86.ActiveCfg = Release|Any CPU - {6B3F75B6-5888-468E-BA4F-4FC725DAEF31}.Release|x86.Build.0 = Release|Any CPU - {79FEF326-CA5E-4698-B2BA-C16A4580B4D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {79FEF326-CA5E-4698-B2BA-C16A4580B4D5}.Debug|Any CPU.Build.0 = Debug|Any CPU - {79FEF326-CA5E-4698-B2BA-C16A4580B4D5}.Debug|x64.ActiveCfg = Debug|Any CPU - {79FEF326-CA5E-4698-B2BA-C16A4580B4D5}.Debug|x64.Build.0 = Debug|Any CPU - {79FEF326-CA5E-4698-B2BA-C16A4580B4D5}.Debug|x86.ActiveCfg = Debug|Any CPU - {79FEF326-CA5E-4698-B2BA-C16A4580B4D5}.Debug|x86.Build.0 = Debug|Any CPU - {79FEF326-CA5E-4698-B2BA-C16A4580B4D5}.Release|Any CPU.ActiveCfg = Release|Any CPU - {79FEF326-CA5E-4698-B2BA-C16A4580B4D5}.Release|Any CPU.Build.0 = Release|Any CPU - {79FEF326-CA5E-4698-B2BA-C16A4580B4D5}.Release|x64.ActiveCfg = Release|Any CPU - {79FEF326-CA5E-4698-B2BA-C16A4580B4D5}.Release|x64.Build.0 = Release|Any CPU - {79FEF326-CA5E-4698-B2BA-C16A4580B4D5}.Release|x86.ActiveCfg = Release|Any CPU - {79FEF326-CA5E-4698-B2BA-C16A4580B4D5}.Release|x86.Build.0 = Release|Any CPU - {AA003372-CD8D-4DBC-962C-F61E0C93CF05}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {AA003372-CD8D-4DBC-962C-F61E0C93CF05}.Debug|Any CPU.Build.0 = Debug|Any CPU - {AA003372-CD8D-4DBC-962C-F61E0C93CF05}.Debug|x64.ActiveCfg = Debug|Any CPU - {AA003372-CD8D-4DBC-962C-F61E0C93CF05}.Debug|x64.Build.0 = Debug|Any CPU - {AA003372-CD8D-4DBC-962C-F61E0C93CF05}.Debug|x86.ActiveCfg = Debug|Any CPU - {AA003372-CD8D-4DBC-962C-F61E0C93CF05}.Debug|x86.Build.0 = Debug|Any CPU - {AA003372-CD8D-4DBC-962C-F61E0C93CF05}.Release|Any CPU.ActiveCfg = Release|Any CPU - {AA003372-CD8D-4DBC-962C-F61E0C93CF05}.Release|Any CPU.Build.0 = Release|Any CPU - {AA003372-CD8D-4DBC-962C-F61E0C93CF05}.Release|x64.ActiveCfg = Release|Any CPU - {AA003372-CD8D-4DBC-962C-F61E0C93CF05}.Release|x64.Build.0 = Release|Any CPU - {AA003372-CD8D-4DBC-962C-F61E0C93CF05}.Release|x86.ActiveCfg = Release|Any CPU - {AA003372-CD8D-4DBC-962C-F61E0C93CF05}.Release|x86.Build.0 = Release|Any CPU - {7E8CC864-4C6E-496F-A672-9F9AD8874835}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7E8CC864-4C6E-496F-A672-9F9AD8874835}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7E8CC864-4C6E-496F-A672-9F9AD8874835}.Debug|x64.ActiveCfg = Debug|Any CPU - {7E8CC864-4C6E-496F-A672-9F9AD8874835}.Debug|x64.Build.0 = Debug|Any CPU - {7E8CC864-4C6E-496F-A672-9F9AD8874835}.Debug|x86.ActiveCfg = Debug|Any CPU - {7E8CC864-4C6E-496F-A672-9F9AD8874835}.Debug|x86.Build.0 = Debug|Any CPU - {7E8CC864-4C6E-496F-A672-9F9AD8874835}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7E8CC864-4C6E-496F-A672-9F9AD8874835}.Release|Any CPU.Build.0 = Release|Any CPU - {7E8CC864-4C6E-496F-A672-9F9AD8874835}.Release|x64.ActiveCfg = Release|Any CPU - {7E8CC864-4C6E-496F-A672-9F9AD8874835}.Release|x64.Build.0 = Release|Any CPU - {7E8CC864-4C6E-496F-A672-9F9AD8874835}.Release|x86.ActiveCfg = Release|Any CPU - {7E8CC864-4C6E-496F-A672-9F9AD8874835}.Release|x86.Build.0 = Release|Any CPU - {F3C41B82-6A67-409A-B7FE-54543EE4F38B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F3C41B82-6A67-409A-B7FE-54543EE4F38B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F3C41B82-6A67-409A-B7FE-54543EE4F38B}.Debug|x64.ActiveCfg = Debug|Any CPU - {F3C41B82-6A67-409A-B7FE-54543EE4F38B}.Debug|x64.Build.0 = Debug|Any CPU - {F3C41B82-6A67-409A-B7FE-54543EE4F38B}.Debug|x86.ActiveCfg = Debug|Any CPU - {F3C41B82-6A67-409A-B7FE-54543EE4F38B}.Debug|x86.Build.0 = Debug|Any CPU - {F3C41B82-6A67-409A-B7FE-54543EE4F38B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F3C41B82-6A67-409A-B7FE-54543EE4F38B}.Release|Any CPU.Build.0 = Release|Any CPU - {F3C41B82-6A67-409A-B7FE-54543EE4F38B}.Release|x64.ActiveCfg = Release|Any CPU - {F3C41B82-6A67-409A-B7FE-54543EE4F38B}.Release|x64.Build.0 = Release|Any CPU - {F3C41B82-6A67-409A-B7FE-54543EE4F38B}.Release|x86.ActiveCfg = Release|Any CPU - {F3C41B82-6A67-409A-B7FE-54543EE4F38B}.Release|x86.Build.0 = Release|Any CPU - {5B2D251F-46E3-486A-AE16-E3FE06B559ED}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {5B2D251F-46E3-486A-AE16-E3FE06B559ED}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5B2D251F-46E3-486A-AE16-E3FE06B559ED}.Debug|x64.ActiveCfg = Debug|Any CPU - {5B2D251F-46E3-486A-AE16-E3FE06B559ED}.Debug|x64.Build.0 = Debug|Any CPU - {5B2D251F-46E3-486A-AE16-E3FE06B559ED}.Debug|x86.ActiveCfg = Debug|Any CPU - {5B2D251F-46E3-486A-AE16-E3FE06B559ED}.Debug|x86.Build.0 = Debug|Any CPU - {5B2D251F-46E3-486A-AE16-E3FE06B559ED}.Release|Any CPU.ActiveCfg = Release|Any CPU - {5B2D251F-46E3-486A-AE16-E3FE06B559ED}.Release|Any CPU.Build.0 = Release|Any CPU - {5B2D251F-46E3-486A-AE16-E3FE06B559ED}.Release|x64.ActiveCfg = Release|Any CPU - {5B2D251F-46E3-486A-AE16-E3FE06B559ED}.Release|x64.Build.0 = Release|Any CPU - {5B2D251F-46E3-486A-AE16-E3FE06B559ED}.Release|x86.ActiveCfg = Release|Any CPU - {5B2D251F-46E3-486A-AE16-E3FE06B559ED}.Release|x86.Build.0 = Release|Any CPU - {23615A39-F3FB-4575-A91C-535899DFB636}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {23615A39-F3FB-4575-A91C-535899DFB636}.Debug|Any CPU.Build.0 = Debug|Any CPU - {23615A39-F3FB-4575-A91C-535899DFB636}.Debug|x64.ActiveCfg = Debug|Any CPU - {23615A39-F3FB-4575-A91C-535899DFB636}.Debug|x64.Build.0 = Debug|Any CPU - {23615A39-F3FB-4575-A91C-535899DFB636}.Debug|x86.ActiveCfg = Debug|Any CPU - {23615A39-F3FB-4575-A91C-535899DFB636}.Debug|x86.Build.0 = Debug|Any CPU - {23615A39-F3FB-4575-A91C-535899DFB636}.Release|Any CPU.ActiveCfg = Release|Any CPU - {23615A39-F3FB-4575-A91C-535899DFB636}.Release|Any CPU.Build.0 = Release|Any CPU - {23615A39-F3FB-4575-A91C-535899DFB636}.Release|x64.ActiveCfg = Release|Any CPU - {23615A39-F3FB-4575-A91C-535899DFB636}.Release|x64.Build.0 = Release|Any CPU - {23615A39-F3FB-4575-A91C-535899DFB636}.Release|x86.ActiveCfg = Release|Any CPU - {23615A39-F3FB-4575-A91C-535899DFB636}.Release|x86.Build.0 = Release|Any CPU - {F754F05E-02FF-47B2-AB46-BB05C7E6B29D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F754F05E-02FF-47B2-AB46-BB05C7E6B29D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F754F05E-02FF-47B2-AB46-BB05C7E6B29D}.Debug|x64.ActiveCfg = Debug|Any CPU - {F754F05E-02FF-47B2-AB46-BB05C7E6B29D}.Debug|x64.Build.0 = Debug|Any CPU - {F754F05E-02FF-47B2-AB46-BB05C7E6B29D}.Debug|x86.ActiveCfg = Debug|Any CPU - {F754F05E-02FF-47B2-AB46-BB05C7E6B29D}.Debug|x86.Build.0 = Debug|Any CPU - {F754F05E-02FF-47B2-AB46-BB05C7E6B29D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F754F05E-02FF-47B2-AB46-BB05C7E6B29D}.Release|Any CPU.Build.0 = Release|Any CPU - {F754F05E-02FF-47B2-AB46-BB05C7E6B29D}.Release|x64.ActiveCfg = Release|Any CPU - {F754F05E-02FF-47B2-AB46-BB05C7E6B29D}.Release|x64.Build.0 = Release|Any CPU - {F754F05E-02FF-47B2-AB46-BB05C7E6B29D}.Release|x86.ActiveCfg = Release|Any CPU - {F754F05E-02FF-47B2-AB46-BB05C7E6B29D}.Release|x86.Build.0 = Release|Any CPU - {AA2F3C32-E3C8-4DF3-A365-F25C7EC19BCD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {AA2F3C32-E3C8-4DF3-A365-F25C7EC19BCD}.Debug|Any CPU.Build.0 = Debug|Any CPU - {AA2F3C32-E3C8-4DF3-A365-F25C7EC19BCD}.Debug|x64.ActiveCfg = Debug|Any CPU - {AA2F3C32-E3C8-4DF3-A365-F25C7EC19BCD}.Debug|x64.Build.0 = Debug|Any CPU - {AA2F3C32-E3C8-4DF3-A365-F25C7EC19BCD}.Debug|x86.ActiveCfg = Debug|Any CPU - {AA2F3C32-E3C8-4DF3-A365-F25C7EC19BCD}.Debug|x86.Build.0 = Debug|Any CPU - {AA2F3C32-E3C8-4DF3-A365-F25C7EC19BCD}.Release|Any CPU.ActiveCfg = Release|Any CPU - {AA2F3C32-E3C8-4DF3-A365-F25C7EC19BCD}.Release|Any CPU.Build.0 = Release|Any CPU - {AA2F3C32-E3C8-4DF3-A365-F25C7EC19BCD}.Release|x64.ActiveCfg = Release|Any CPU - {AA2F3C32-E3C8-4DF3-A365-F25C7EC19BCD}.Release|x64.Build.0 = Release|Any CPU - {AA2F3C32-E3C8-4DF3-A365-F25C7EC19BCD}.Release|x86.ActiveCfg = Release|Any CPU - {AA2F3C32-E3C8-4DF3-A365-F25C7EC19BCD}.Release|x86.Build.0 = Release|Any CPU - {0348CFDA-4DA1-4DB5-9C6F-0D234FE3E4DA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {0348CFDA-4DA1-4DB5-9C6F-0D234FE3E4DA}.Debug|Any CPU.Build.0 = Debug|Any CPU - {0348CFDA-4DA1-4DB5-9C6F-0D234FE3E4DA}.Debug|x64.ActiveCfg = Debug|Any CPU - {0348CFDA-4DA1-4DB5-9C6F-0D234FE3E4DA}.Debug|x64.Build.0 = Debug|Any CPU - {0348CFDA-4DA1-4DB5-9C6F-0D234FE3E4DA}.Debug|x86.ActiveCfg = Debug|Any CPU - {0348CFDA-4DA1-4DB5-9C6F-0D234FE3E4DA}.Debug|x86.Build.0 = Debug|Any CPU - {0348CFDA-4DA1-4DB5-9C6F-0D234FE3E4DA}.Release|Any CPU.ActiveCfg = Release|Any CPU - {0348CFDA-4DA1-4DB5-9C6F-0D234FE3E4DA}.Release|Any CPU.Build.0 = Release|Any CPU - {0348CFDA-4DA1-4DB5-9C6F-0D234FE3E4DA}.Release|x64.ActiveCfg = Release|Any CPU - {0348CFDA-4DA1-4DB5-9C6F-0D234FE3E4DA}.Release|x64.Build.0 = Release|Any CPU - {0348CFDA-4DA1-4DB5-9C6F-0D234FE3E4DA}.Release|x86.ActiveCfg = Release|Any CPU - {0348CFDA-4DA1-4DB5-9C6F-0D234FE3E4DA}.Release|x86.Build.0 = Release|Any CPU - {2E4CC21D-3AB9-4B8C-A13E-348AA3E2F328}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {2E4CC21D-3AB9-4B8C-A13E-348AA3E2F328}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2E4CC21D-3AB9-4B8C-A13E-348AA3E2F328}.Debug|x64.ActiveCfg = Debug|Any CPU - {2E4CC21D-3AB9-4B8C-A13E-348AA3E2F328}.Debug|x64.Build.0 = Debug|Any CPU - {2E4CC21D-3AB9-4B8C-A13E-348AA3E2F328}.Debug|x86.ActiveCfg = Debug|Any CPU - {2E4CC21D-3AB9-4B8C-A13E-348AA3E2F328}.Debug|x86.Build.0 = Debug|Any CPU - {2E4CC21D-3AB9-4B8C-A13E-348AA3E2F328}.Release|Any CPU.ActiveCfg = Release|Any CPU - {2E4CC21D-3AB9-4B8C-A13E-348AA3E2F328}.Release|Any CPU.Build.0 = Release|Any CPU - {2E4CC21D-3AB9-4B8C-A13E-348AA3E2F328}.Release|x64.ActiveCfg = Release|Any CPU - {2E4CC21D-3AB9-4B8C-A13E-348AA3E2F328}.Release|x64.Build.0 = Release|Any CPU - {2E4CC21D-3AB9-4B8C-A13E-348AA3E2F328}.Release|x86.ActiveCfg = Release|Any CPU - {2E4CC21D-3AB9-4B8C-A13E-348AA3E2F328}.Release|x86.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {BD1C30A8-8FFA-4A92-A9BD-B67B1CDDD84C} = {8CF53B92-5EB1-461D-98F8-70DA9B603FBF} - {25F66C64-058A-4D44-BC0C-F12A054F9A91} = {4C6B06C2-6D77-4E0E-AE32-D7050236433A} - {7FD0A92B-7862-4BB1-932B-B52A9CACB56B} = {8CF53B92-5EB1-461D-98F8-70DA9B603FBF} - {FD0AFD44-7A93-4F9E-B5ED-72582392E435} = {4C6B06C2-6D77-4E0E-AE32-D7050236433A} - {5E75AB7D-6F01-4313-AFF1-7F7128FFD71F} = {7EDE8CF1-B1E4-4005-B154-834B944E0D7A} - {F7771E22-47BD-45C4-A133-FD7F1DE27CA0} = {7EDE8CF1-B1E4-4005-B154-834B944E0D7A} - {42184546-E3CB-4D4F-9495-43979B9C63B9} = {7EDE8CF1-B1E4-4005-B154-834B944E0D7A} - {F0A83301-50A5-40EA-A1A2-07C7858F5A3F} = {4C6B06C2-6D77-4E0E-AE32-D7050236433A} - {6B3F75B6-5888-468E-BA4F-4FC725DAEF31} = {4C6B06C2-6D77-4E0E-AE32-D7050236433A} - {79FEF326-CA5E-4698-B2BA-C16A4580B4D5} = {4C6B06C2-6D77-4E0E-AE32-D7050236433A} - {AA003372-CD8D-4DBC-962C-F61E0C93CF05} = {4C6B06C2-6D77-4E0E-AE32-D7050236433A} - {7E8CC864-4C6E-496F-A672-9F9AD8874835} = {7EDE8CF1-B1E4-4005-B154-834B944E0D7A} - {F3C41B82-6A67-409A-B7FE-54543EE4F38B} = {FB8BC3A2-2010-4C3C-A87D-D4A98C05EE52} - {5B2D251F-46E3-486A-AE16-E3FE06B559ED} = {7EDE8CF1-B1E4-4005-B154-834B944E0D7A} - {23615A39-F3FB-4575-A91C-535899DFB636} = {94207AA6-4923-4183-A558-E0F8196B8CA3} - {F754F05E-02FF-47B2-AB46-BB05C7E6B29D} = {3378B841-53F8-48CC-87C1-1B30CF912BFD} - {AA2F3C32-E3C8-4DF3-A365-F25C7EC19BCD} = {3378B841-53F8-48CC-87C1-1B30CF912BFD} - {0348CFDA-4DA1-4DB5-9C6F-0D234FE3E4DA} = {3378B841-53F8-48CC-87C1-1B30CF912BFD} - {2E4CC21D-3AB9-4B8C-A13E-348AA3E2F328} = {3378B841-53F8-48CC-87C1-1B30CF912BFD} - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {02F2E872-3141-44F5-BD6A-33CD84E9FE08} - EndGlobalSection -EndGlobal diff --git a/backend/Squidex.slnx b/backend/Squidex.slnx new file mode 100644 index 000000000..6b6d7673f --- /dev/null +++ b/backend/Squidex.slnx @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/backend/extensions/Squidex.Extensions/APM/Zipkin/ZipkinPlugin.cs b/backend/extensions/Squidex.Extensions/APM/Zipkin/ZipkinPlugin.cs deleted file mode 100644 index a63fce9d4..000000000 --- a/backend/extensions/Squidex.Extensions/APM/Zipkin/ZipkinPlugin.cs +++ /dev/null @@ -1,37 +0,0 @@ -// ========================================================================== -// Squidex Headless CMS -// ========================================================================== -// Copyright (c) Squidex UG (haftungsbeschraenkt) -// All rights reserved. Licensed under the MIT license. -// ========================================================================== - -using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.DependencyInjection; -using OpenTelemetry.Trace; -using Squidex.Infrastructure; -using Squidex.Infrastructure.Plugins; - -namespace Squidex.Extensions.APM.Zipkin; - -public sealed class ZipkinPlugin : IPlugin -{ - private sealed class Configurator(IConfiguration config) : ITelemetryConfigurator - { - public void Configure(TracerProviderBuilder builder) - { - builder.AddZipkinExporter(options => - { - config.GetSection("logging:zipkin").Bind(options); - }); - } - } - - public void ConfigureServices(IServiceCollection services, IConfiguration config) - { - if (config.GetValue("logging:zipkin:enabled")) - { - services.AddSingleton(); - } - } -} diff --git a/backend/extensions/Squidex.Extensions/Squidex.Extensions.csproj b/backend/extensions/Squidex.Extensions/Squidex.Extensions.csproj index e97a17f66..8509df10e 100644 --- a/backend/extensions/Squidex.Extensions/Squidex.Extensions.csproj +++ b/backend/extensions/Squidex.Extensions/Squidex.Extensions.csproj @@ -1,6 +1,6 @@  - net8.0 + net10.0 latest enable enable @@ -11,34 +11,35 @@ - - + + - - - - + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - + + + + + + + - - - - + + + + - + diff --git a/backend/global.json b/backend/global.json deleted file mode 100644 index 3d946171e..000000000 --- a/backend/global.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "sdk": { - "version": "8.0.416" - } -} \ No newline at end of file diff --git a/backend/i18n/translator/Squidex.Translator/Squidex.Translator.csproj b/backend/i18n/translator/Squidex.Translator/Squidex.Translator.csproj index 43902a781..33959f846 100644 --- a/backend/i18n/translator/Squidex.Translator/Squidex.Translator.csproj +++ b/backend/i18n/translator/Squidex.Translator/Squidex.Translator.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net10.0 latest enable NU1608 diff --git a/backend/src/Migrations/Migrations.csproj b/backend/src/Migrations/Migrations.csproj index c7811d56b..60f652d6f 100644 --- a/backend/src/Migrations/Migrations.csproj +++ b/backend/src/Migrations/Migrations.csproj @@ -1,16 +1,16 @@ - net8.0 + net10.0 latest enable enable - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Apps/EFAppRepository.cs b/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Apps/EFAppRepository.cs index 63b645c49..a2d7415e0 100644 --- a/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Apps/EFAppRepository.cs +++ b/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Apps/EFAppRepository.cs @@ -5,7 +5,6 @@ // All rights reserved. Licensed under the MIT license. // ========================================================================== -using System.Linq.Expressions; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Query; using Squidex.Domain.Apps.Core.Apps; @@ -101,7 +100,7 @@ public sealed class EFAppRepository(IDbContextFactory dbCont return byName.Values.ToList(); } - protected override Expression, SetPropertyCalls>> BuildUpdate(EFAppEntity entity) + protected override Action> BuildUpdate(EFAppEntity entity) { return u => u .SetProperty(x => x.Document, entity.Document) diff --git a/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Assets/EFAssetFolderRepository_SnapshotStore.cs b/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Assets/EFAssetFolderRepository_SnapshotStore.cs index e4497d621..081e1d6c9 100644 --- a/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Assets/EFAssetFolderRepository_SnapshotStore.cs +++ b/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Assets/EFAssetFolderRepository_SnapshotStore.cs @@ -113,7 +113,7 @@ public sealed partial class EFAssetFolderRepository : ISnapshotStore, SetPropertyCalls>> BuildUpdate(EFAssetFolderEntity entity) + private static Action> BuildUpdate(EFAssetFolderEntity entity) { return b => b .SetProperty(x => x.AppId, entity.AppId) diff --git a/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Assets/EFAssetRepository_SnapshotStore.cs b/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Assets/EFAssetRepository_SnapshotStore.cs index a4f8bf644..8cfb3a954 100644 --- a/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Assets/EFAssetRepository_SnapshotStore.cs +++ b/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Assets/EFAssetRepository_SnapshotStore.cs @@ -108,7 +108,7 @@ public sealed partial class EFAssetRepository : ISnapshotStore, } } - private static Expression, SetPropertyCalls>> BuildUpdate(EFAssetEntity entity) + private static Action> BuildUpdate(EFAssetEntity entity) { return b => b .SetProperty(x => x.AppId, entity.AppId) diff --git a/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Contents/Extensions.cs b/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Contents/Extensions.cs index 81eecb311..8d55f9a28 100644 --- a/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Contents/Extensions.cs +++ b/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Contents/Extensions.cs @@ -54,7 +54,7 @@ internal static class Extensions } } - public static Expression, SetPropertyCalls>> BuildUpdate(T entity) where T : EFContentEntity + public static Action> BuildUpdate(T entity) where T : EFContentEntity { return b => b .SetProperty(x => x.AppId, entity.AppId) diff --git a/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Schemas/EFSchemaRepository.cs b/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Schemas/EFSchemaRepository.cs index 5816f2ebf..91d5d6384 100644 --- a/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Schemas/EFSchemaRepository.cs +++ b/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Schemas/EFSchemaRepository.cs @@ -106,7 +106,7 @@ public sealed class EFSchemaRepository(IDbContextFactory dbC } } - protected override Expression, SetPropertyCalls>> BuildUpdate(EFSchemaEntity entity) + protected override Action> BuildUpdate(EFSchemaEntity entity) { return u => u .SetProperty(x => x.Document, entity.Document) diff --git a/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Teams/EFTeamRepository.cs b/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Teams/EFTeamRepository.cs index b81ec97ff..7a375a814 100644 --- a/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Teams/EFTeamRepository.cs +++ b/backend/src/Squidex.Data.EntityFramework/Domain/Apps/Entities/Teams/EFTeamRepository.cs @@ -70,7 +70,7 @@ public sealed class EFTeamRepository(IDbContextFactory dbCon } } - protected override Expression, SetPropertyCalls>> BuildUpdate(EFTeamEntity entity) + protected override Action> BuildUpdate(EFTeamEntity entity) { return u => u .SetProperty(x => x.Document, entity.Document) diff --git a/backend/src/Squidex.Data.EntityFramework/Infrastructure/BulkInserter.cs b/backend/src/Squidex.Data.EntityFramework/Infrastructure/BulkInserter.cs index c8955a71e..826616ff0 100644 --- a/backend/src/Squidex.Data.EntityFramework/Infrastructure/BulkInserter.cs +++ b/backend/src/Squidex.Data.EntityFramework/Infrastructure/BulkInserter.cs @@ -24,6 +24,6 @@ public sealed class BulkInserter : IDbFlowsBulkInserter, IDbEventStoreBulkInsert public Task BulkUpsertAsync(DbContext dbContext, IEnumerable entities, CancellationToken ct = default) where T : class { - return dbContext.ExecuteBulkInsertAsync(entities, o => { }, new OnConflictOptions { Update = e => e }, ct); + return dbContext.ExecuteBulkInsertAsync(entities, o => { }, new OnConflictOptions { Update = (lhs, rhs) => lhs }, ct); } } diff --git a/backend/src/Squidex.Data.EntityFramework/Infrastructure/Extensions.cs b/backend/src/Squidex.Data.EntityFramework/Infrastructure/Extensions.cs index b21a9dfba..dd48c19b6 100644 --- a/backend/src/Squidex.Data.EntityFramework/Infrastructure/Extensions.cs +++ b/backend/src/Squidex.Data.EntityFramework/Infrastructure/Extensions.cs @@ -93,7 +93,7 @@ public static class Extensions return Task.CompletedTask; } - return dbContext.ExecuteBulkInsertAsync(source, o => { }, new OnConflictOptions { Update = e => e }, ct); + return dbContext.ExecuteBulkInsertAsync(source, o => { }, new OnConflictOptions { Update = (lhs, rhs) => lhs }, ct); } public static Task BulkInsertAsync(this DbContext dbContext, List source, @@ -173,7 +173,7 @@ public static class Extensions } public static async Task UpsertAsync(this DbContext dbContext, T entity, long oldVersion, - Func, SetPropertyCalls>>> update, + Func>> update, CancellationToken ct) where T : class, IVersionedEntity { var dbSet = dbContext.Set(); diff --git a/backend/src/Squidex.Data.EntityFramework/Infrastructure/States/EFSnapshotStore.cs b/backend/src/Squidex.Data.EntityFramework/Infrastructure/States/EFSnapshotStore.cs index 3e74d3867..704f03ed8 100644 --- a/backend/src/Squidex.Data.EntityFramework/Infrastructure/States/EFSnapshotStore.cs +++ b/backend/src/Squidex.Data.EntityFramework/Infrastructure/States/EFSnapshotStore.cs @@ -114,7 +114,7 @@ public class EFSnapshotStore(IDbContextFactory db return dbContextFactory.CreateDbContextAsync(ct); } - protected virtual Expression, SetPropertyCalls>> BuildUpdate(TState entity) + protected virtual Action> BuildUpdate(TState entity) { return u => u .SetProperty(x => x.Document, entity.Document) diff --git a/backend/src/Squidex.Data.EntityFramework/Providers/MySql/Content/JsonFunction.cs b/backend/src/Squidex.Data.EntityFramework/Providers/MySql/Content/JsonFunction.cs deleted file mode 100644 index dbaf01ef4..000000000 --- a/backend/src/Squidex.Data.EntityFramework/Providers/MySql/Content/JsonFunction.cs +++ /dev/null @@ -1,5 +0,0 @@ -namespace Squidex.Providers.MySql.Content; - -public static class JsonFunction -{ -} diff --git a/backend/src/Squidex.Data.EntityFramework/Providers/MySql/JsonFunction.cs b/backend/src/Squidex.Data.EntityFramework/Providers/MySql/JsonFunction.cs index 69f763db6..425d78703 100644 --- a/backend/src/Squidex.Data.EntityFramework/Providers/MySql/JsonFunction.cs +++ b/backend/src/Squidex.Data.EntityFramework/Providers/MySql/JsonFunction.cs @@ -18,7 +18,7 @@ public static class JsonFunction private const int TypeBoolean = 3; private const int TypeNumber = 4; - private static readonly Dictionary<(int Type, CompareOperator Operator), string> Functions = new() + private static readonly Dictionary<(int Type, CompareOperator Operator), string> Functions = new () { [(TypeAny, CompareOperator.Empty)] = "json_empty", [(TypeAny, CompareOperator.Exists)] = "json_exists", diff --git a/backend/src/Squidex.Data.EntityFramework/Squidex.Data.EntityFramework.csproj b/backend/src/Squidex.Data.EntityFramework/Squidex.Data.EntityFramework.csproj index 0945d8303..fabb4acd4 100644 --- a/backend/src/Squidex.Data.EntityFramework/Squidex.Data.EntityFramework.csproj +++ b/backend/src/Squidex.Data.EntityFramework/Squidex.Data.EntityFramework.csproj @@ -1,6 +1,6 @@  - net8.0 + net10.0 Squidex latest enable @@ -19,41 +19,41 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - + + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - - + + diff --git a/backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/Text/AtlasTextIndex.cs b/backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/Text/AtlasTextIndex.cs index 36344e377..d62a4e641 100644 --- a/backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/Text/AtlasTextIndex.cs +++ b/backend/src/Squidex.Data.MongoDb/Domain/Apps/Entities/Contents/Text/AtlasTextIndex.cs @@ -25,7 +25,7 @@ public sealed class AtlasTextIndex(IMongoDatabase database, IHttpClientFactory a private static readonly LuceneQueryVisitor QueryVisitor = new LuceneQueryVisitor(AtlasIndexDefinition.GetFieldPath); private static readonly LuceneQueryAnalyzer QueryParser = new LuceneQueryAnalyzer(LuceneVersion.LUCENE_48, "*", - new StandardAnalyzer(LuceneVersion.LUCENE_48, CharArraySet.EMPTY_SET)); + new StandardAnalyzer(LuceneVersion.LUCENE_48, CharArraySet.Empty)); private readonly AtlasOptions atlasOptions = atlasOptions.Value; private string index; diff --git a/backend/src/Squidex.Data.MongoDb/Infrastructure/BsonDomainIdSerializer.cs b/backend/src/Squidex.Data.MongoDb/Infrastructure/BsonDomainIdSerializer.cs index 63892db39..e2eaa1b0c 100644 --- a/backend/src/Squidex.Data.MongoDb/Infrastructure/BsonDomainIdSerializer.cs +++ b/backend/src/Squidex.Data.MongoDb/Infrastructure/BsonDomainIdSerializer.cs @@ -68,16 +68,7 @@ public sealed class BsonDomainIdSerializer : SerializerBase, IBsonPoly case BsonType.Binary: if (Guid.TryParse(value.ToString(), out var guid)) { -#pragma warning disable CS0618 // Type or member is obsolete - if (context.Writer.Settings.GuidRepresentation == GuidRepresentation.CSharpLegacy) - { - context.Writer.WriteBinaryData(new BsonBinaryData(guid.ToByteArray(), BsonBinarySubType.UuidLegacy, GuidRepresentation.CSharpLegacy)); - } - else - { - context.Writer.WriteBinaryData(new BsonBinaryData(guid, GuidRepresentation.Standard)); - } -#pragma warning restore CS0618 // Type or member is obsolete + context.Writer.WriteBinaryData(new BsonBinaryData(guid, GuidRepresentation.Standard)); } else { diff --git a/backend/src/Squidex.Data.MongoDb/Infrastructure/MongoClientFactory.cs b/backend/src/Squidex.Data.MongoDb/Infrastructure/MongoClientFactory.cs index d3ddc1817..24e7e5c4f 100644 --- a/backend/src/Squidex.Data.MongoDb/Infrastructure/MongoClientFactory.cs +++ b/backend/src/Squidex.Data.MongoDb/Infrastructure/MongoClientFactory.cs @@ -6,7 +6,6 @@ // ========================================================================== using MongoDB.Driver; -using MongoDB.Driver.Linq; using Squidex.Infrastructure.Json.Objects; namespace Squidex.Infrastructure; @@ -24,11 +23,6 @@ public static class MongoClientFactory var clientSettings = MongoClientSettings.FromConnectionString(connectionString); - // The current version of the linq provider has some issues with base classes. -#pragma warning disable CS0618 // Type or member is obsolete - clientSettings.LinqProvider = LinqProvider.V2; -#pragma warning restore CS0618 // Type or member is obsolete - // If we really need custom config. configure?.Invoke(clientSettings); diff --git a/backend/src/Squidex.Data.MongoDb/ServiceExtensions.cs b/backend/src/Squidex.Data.MongoDb/ServiceExtensions.cs index e41e89e89..95a97eebf 100644 --- a/backend/src/Squidex.Data.MongoDb/ServiceExtensions.cs +++ b/backend/src/Squidex.Data.MongoDb/ServiceExtensions.cs @@ -300,7 +300,7 @@ public static class ServiceExtensions { if (!string.IsNullOrWhiteSpace(mongoCertificate)) { - var certFile = new X509Certificate2(mongoCertificate); + var certFile = X509CertificateLoader.LoadCertificateFromFile(mongoCertificate); settings.SslSettings = new SslSettings { diff --git a/backend/src/Squidex.Data.MongoDb/Squidex.Data.MongoDb.csproj b/backend/src/Squidex.Data.MongoDb/Squidex.Data.MongoDb.csproj index e9a848d19..f7b00de2c 100644 --- a/backend/src/Squidex.Data.MongoDb/Squidex.Data.MongoDb.csproj +++ b/backend/src/Squidex.Data.MongoDb/Squidex.Data.MongoDb.csproj @@ -1,6 +1,6 @@  - net8.0 + net10.0 Squidex latest enable @@ -16,25 +16,24 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - + + + - - - - - - - + + + + + + + - - + + diff --git a/backend/src/Squidex.Domain.Apps.Core.Model/Squidex.Domain.Apps.Core.Model.csproj b/backend/src/Squidex.Domain.Apps.Core.Model/Squidex.Domain.Apps.Core.Model.csproj index 849260ad2..065b99192 100644 --- a/backend/src/Squidex.Domain.Apps.Core.Model/Squidex.Domain.Apps.Core.Model.csproj +++ b/backend/src/Squidex.Domain.Apps.Core.Model/Squidex.Domain.Apps.Core.Model.csproj @@ -1,6 +1,6 @@  - net8.0 + net10.0 Squidex.Domain.Apps.Core latest enable @@ -12,17 +12,16 @@ True - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + + - + - diff --git a/backend/src/Squidex.Domain.Apps.Core.Operations/GenerateJsonSchema/JsonTypeVisitor.cs b/backend/src/Squidex.Domain.Apps.Core.Operations/GenerateJsonSchema/JsonTypeVisitor.cs index aedbb2640..be9c9f865 100644 --- a/backend/src/Squidex.Domain.Apps.Core.Operations/GenerateJsonSchema/JsonTypeVisitor.cs +++ b/backend/src/Squidex.Domain.Apps.Core.Operations/GenerateJsonSchema/JsonTypeVisitor.cs @@ -5,6 +5,7 @@ // All rights reserved. Licensed under the MIT license. // ========================================================================== +using System.Globalization; using NJsonSchema; using Squidex.Domain.Apps.Core.Contents; using Squidex.Domain.Apps.Core.Schemas; @@ -140,7 +141,7 @@ internal sealed class JsonTypeVisitor : IFieldVisitor AssetContentUrl(FluidValue input, FilterArguments arguments, TemplateContext context) @@ -70,7 +70,7 @@ public sealed class EventFluidExtensions(IUrlGenerator urlGenerator) : IFluidExt return new StringValue(result); } - return NilValue.Empty; + return EmptyValue.Instance; } var value = input.ToObjectValue(); @@ -91,7 +91,7 @@ public sealed class EventFluidExtensions(IUrlGenerator urlGenerator) : IFluidExt } } - return NilValue.Empty; + return EmptyValue.Instance; } private ValueTask AssetContentSlugUrl(FluidValue input, FilterArguments arguments, TemplateContext context) @@ -105,7 +105,7 @@ public sealed class EventFluidExtensions(IUrlGenerator urlGenerator) : IFluidExt return new StringValue(result); } - return NilValue.Empty; + return EmptyValue.Instance; } var value = input.ToObjectValue(); @@ -123,6 +123,6 @@ public sealed class EventFluidExtensions(IUrlGenerator urlGenerator) : IFluidExt } } - return NilValue.Empty; + return EmptyValue.Instance; } } diff --git a/backend/src/Squidex.Domain.Apps.Core.Operations/Squidex.Domain.Apps.Core.Operations.csproj b/backend/src/Squidex.Domain.Apps.Core.Operations/Squidex.Domain.Apps.Core.Operations.csproj index c66cac5ae..2614a2c1d 100644 --- a/backend/src/Squidex.Domain.Apps.Core.Operations/Squidex.Domain.Apps.Core.Operations.csproj +++ b/backend/src/Squidex.Domain.Apps.Core.Operations/Squidex.Domain.Apps.Core.Operations.csproj @@ -1,6 +1,6 @@  - net8.0 + net10.0 Squidex.Domain.Apps.Core latest enable @@ -18,22 +18,21 @@ - + - - + + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + + - - + + - - + diff --git a/backend/src/Squidex.Domain.Apps.Core.Operations/Templates/Extensions/JsonArrayFluidValue.cs b/backend/src/Squidex.Domain.Apps.Core.Operations/Templates/Extensions/JsonArrayFluidValue.cs index 1b8511cd1..184e7ce53 100644 --- a/backend/src/Squidex.Domain.Apps.Core.Operations/Templates/Extensions/JsonArrayFluidValue.cs +++ b/backend/src/Squidex.Domain.Apps.Core.Operations/Templates/Extensions/JsonArrayFluidValue.cs @@ -44,7 +44,7 @@ public sealed class JsonArrayFluidValue(JsonArray value, TemplateOptions options return value.ToString()!; } - protected override FluidValue GetValue(string name, TemplateContext context) + public override ValueTask GetValueAsync(string name, TemplateContext context) { switch (name) { @@ -71,7 +71,7 @@ public sealed class JsonArrayFluidValue(JsonArray value, TemplateOptions options return NilValue.Instance; } - protected override FluidValue GetIndex(FluidValue index, TemplateContext context) + public override ValueTask GetIndexAsync(FluidValue index, TemplateContext context) { var i = (int)index.ToNumberValue(); diff --git a/backend/src/Squidex.Domain.Apps.Entities/Apps/DefaultAppLogStore.cs b/backend/src/Squidex.Domain.Apps.Entities/Apps/DefaultAppLogStore.cs index bfc27b256..9fa612502 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Apps/DefaultAppLogStore.cs +++ b/backend/src/Squidex.Domain.Apps.Entities/Apps/DefaultAppLogStore.cs @@ -103,7 +103,7 @@ public sealed class DefaultAppLogStore(IRequestLogStore requestLogStore) : IAppL await foreach (var request in requestLogStore.QueryAllAsync(appId.ToString(), fromTime, toTime, ct)) { - csv.WriteField(request.Timestamp.ToString()); + csv.WriteField(request.Timestamp.ToString("g", CultureInfo.InvariantCulture)); csv.WriteField(GetString(request, FieldRequestPath)); csv.WriteField(GetString(request, FieldRequestMethod)); csv.WriteField(GetDouble(request, FieldRequestElapsedMs)); diff --git a/backend/src/Squidex.Domain.Apps.Entities/Squidex.Domain.Apps.Entities.csproj b/backend/src/Squidex.Domain.Apps.Entities/Squidex.Domain.Apps.Entities.csproj index 7b781b489..f62f35bcc 100644 --- a/backend/src/Squidex.Domain.Apps.Entities/Squidex.Domain.Apps.Entities.csproj +++ b/backend/src/Squidex.Domain.Apps.Entities/Squidex.Domain.Apps.Entities.csproj @@ -1,6 +1,6 @@  - net8.0 + net10.0 latest enable en @@ -28,27 +28,26 @@ - - - - - - + + + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - - + + - - - + + + - - - + + @@ -66,4 +65,7 @@ Resources.Designer.cs + + + diff --git a/backend/src/Squidex.Domain.Apps.Events/Squidex.Domain.Apps.Events.csproj b/backend/src/Squidex.Domain.Apps.Events/Squidex.Domain.Apps.Events.csproj index 36acb612e..674ef8b48 100644 --- a/backend/src/Squidex.Domain.Apps.Events/Squidex.Domain.Apps.Events.csproj +++ b/backend/src/Squidex.Domain.Apps.Events/Squidex.Domain.Apps.Events.csproj @@ -1,6 +1,6 @@  - net8.0 + net10.0 latest enable enable @@ -14,11 +14,11 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/backend/src/Squidex.Domain.Users/Squidex.Domain.Users.csproj b/backend/src/Squidex.Domain.Users/Squidex.Domain.Users.csproj index 74447d7e0..f874c888c 100644 --- a/backend/src/Squidex.Domain.Users/Squidex.Domain.Users.csproj +++ b/backend/src/Squidex.Domain.Users/Squidex.Domain.Users.csproj @@ -1,6 +1,6 @@  - net8.0 + net10.0 latest enable enable @@ -18,18 +18,14 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - + - - diff --git a/backend/src/Squidex.Infrastructure/CollectionExtensions.cs b/backend/src/Squidex.Infrastructure/CollectionExtensions.cs index ec2249fb8..56556bada 100644 --- a/backend/src/Squidex.Infrastructure/CollectionExtensions.cs +++ b/backend/src/Squidex.Infrastructure/CollectionExtensions.cs @@ -195,11 +195,6 @@ public static class CollectionExtensions } } - public static IEnumerable Shuffle(this IEnumerable enumerable) - { - return enumerable.OrderBy(x => Random.Shared.Next()).ToList(); - } - public static IEnumerable OrEmpty(this IEnumerable? source) { return source ?? []; diff --git a/backend/src/Squidex.Infrastructure/DisposableObjectBase.cs b/backend/src/Squidex.Infrastructure/DisposableObjectBase.cs index 20db1fa45..a84982115 100644 --- a/backend/src/Squidex.Infrastructure/DisposableObjectBase.cs +++ b/backend/src/Squidex.Infrastructure/DisposableObjectBase.cs @@ -9,7 +9,7 @@ namespace Squidex.Infrastructure; public abstract class DisposableObjectBase : IDisposable { - private readonly object disposeLock = new object(); + private readonly Lock disposeLock = new Lock(); private bool isDisposed; public bool IsDisposed => isDisposed; diff --git a/backend/src/Squidex.Infrastructure/EventSourcing/EnvelopeExtensions.cs b/backend/src/Squidex.Infrastructure/EventSourcing/EnvelopeExtensions.cs index a6d12ed64..a3354403d 100644 --- a/backend/src/Squidex.Infrastructure/EventSourcing/EnvelopeExtensions.cs +++ b/backend/src/Squidex.Infrastructure/EventSourcing/EnvelopeExtensions.cs @@ -5,6 +5,7 @@ // All rights reserved. Licensed under the MIT license. // ========================================================================== +using System.Globalization; using NodaTime; using NodaTime.Text; using Squidex.Events; @@ -80,7 +81,7 @@ public static class EnvelopeExtensions public static Envelope SetTimestamp(this Envelope envelope, Instant value) where T : class, IEvent { - envelope.Headers[CommonHeaders.Timestamp] = value.ToString(); + envelope.Headers[CommonHeaders.Timestamp] = value.ToString("g", CultureInfo.InvariantCulture); return envelope; } diff --git a/backend/src/Squidex.Infrastructure/Json/Objects/JsonValue.cs b/backend/src/Squidex.Infrastructure/Json/Objects/JsonValue.cs index aaaac9541..1a3f966ba 100644 --- a/backend/src/Squidex.Infrastructure/Json/Objects/JsonValue.cs +++ b/backend/src/Squidex.Infrastructure/Json/Objects/JsonValue.cs @@ -275,7 +275,7 @@ public readonly struct JsonValue : IEquatable public static JsonValue Create(Instant value) { - return new JsonValue(value.ToString()); + return new JsonValue(value.ToString("g", CultureInfo.InvariantCulture)); } public static JsonValue Create(double value) diff --git a/backend/src/Squidex.Infrastructure/Queries/OData/ConstantWithTypeVisitor.cs b/backend/src/Squidex.Infrastructure/Queries/OData/ConstantWithTypeVisitor.cs index 9504d80f7..35014d86f 100644 --- a/backend/src/Squidex.Infrastructure/Queries/OData/ConstantWithTypeVisitor.cs +++ b/backend/src/Squidex.Infrastructure/Queries/OData/ConstantWithTypeVisitor.cs @@ -186,7 +186,7 @@ public sealed class ConstantWithTypeVisitor : QueryNodeVisitor return Instant.FromDateTimeUtc(DateTime.SpecifyKind(dateTime, DateTimeKind.Utc)); } - if (value is Date date) + if (value is DateOnly date) { return Instant.FromUtc(date.Year, date.Month, date.Day, 0, 0); } diff --git a/backend/src/Squidex.Infrastructure/Squidex.Infrastructure.csproj b/backend/src/Squidex.Infrastructure/Squidex.Infrastructure.csproj index d1e5920be..1790ca4ce 100644 --- a/backend/src/Squidex.Infrastructure/Squidex.Infrastructure.csproj +++ b/backend/src/Squidex.Infrastructure/Squidex.Infrastructure.csproj @@ -1,6 +1,6 @@ - net8.0 + net10.0 latest enable en @@ -11,33 +11,31 @@ True - - - + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - - + + - - - + + + - - - - - - - + + + + + + + - - - + + - diff --git a/backend/src/Squidex.Shared/Squidex.Shared.csproj b/backend/src/Squidex.Shared/Squidex.Shared.csproj index b115c620b..5666f79d4 100644 --- a/backend/src/Squidex.Shared/Squidex.Shared.csproj +++ b/backend/src/Squidex.Shared/Squidex.Shared.csproj @@ -1,6 +1,6 @@  - net8.0 + net10.0 latest enable enable @@ -10,13 +10,12 @@ True - + all runtime; build; native; contentfiles; analyzers; buildtransitive - diff --git a/backend/src/Squidex.Web/Pipeline/ActionContextLogAppender.cs b/backend/src/Squidex.Web/Pipeline/ActionContextLogAppender.cs index a81db3156..16615f86e 100644 --- a/backend/src/Squidex.Web/Pipeline/ActionContextLogAppender.cs +++ b/backend/src/Squidex.Web/Pipeline/ActionContextLogAppender.cs @@ -7,12 +7,12 @@ using System.Diagnostics; using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Mvc.Infrastructure; +using Microsoft.AspNetCore.Mvc.Abstractions; using Squidex.Log; namespace Squidex.Web.Pipeline; -public sealed class ActionContextLogAppender(IHttpContextAccessor httpContextAccessor, IActionContextAccessor actionContextAccessor) : ILogAppender +public sealed class ActionContextLogAppender(IHttpContextAccessor httpContextAccessor) : ILogAppender { public void Append(IObjectWriter writer, SemanticLogLevel logLevel, Exception? exception) { @@ -23,8 +23,7 @@ public sealed class ActionContextLogAppender(IHttpContextAccessor httpContextAcc return; } - var actionContext = actionContextAccessor.ActionContext; - + var actionDescriptor = httpContext.GetEndpoint()?.Metadata.GetMetadata(); try { if (string.IsNullOrEmpty(httpContext?.Request?.Method)) @@ -34,7 +33,7 @@ public sealed class ActionContextLogAppender(IHttpContextAccessor httpContextAcc var requestId = GetRequestId(httpContext); - var logContext = (requestId, context: httpContext, actionContext); + var logContext = (requestId, context: httpContext, actionDescriptor); writer.WriteObject("web", logContext, (ctx, w) => { @@ -42,11 +41,9 @@ public sealed class ActionContextLogAppender(IHttpContextAccessor httpContextAcc w.WriteProperty("requestPath", ctx.context.Request.Path); w.WriteProperty("requestMethod", ctx.context.Request.Method); - var actionContext = ctx.actionContext; - - if (actionContext != null) + if (ctx.actionDescriptor != null) { - w.WriteObject("routeValues", actionContext.ActionDescriptor.RouteValues, (routeValues, r) => + w.WriteObject("routeValues", ctx.actionDescriptor.RouteValues, (routeValues, r) => { foreach (var (key, value) in routeValues) { diff --git a/backend/src/Squidex.Web/Squidex.Web.csproj b/backend/src/Squidex.Web/Squidex.Web.csproj index 0953879a5..61fec7ff5 100644 --- a/backend/src/Squidex.Web/Squidex.Web.csproj +++ b/backend/src/Squidex.Web/Squidex.Web.csproj @@ -1,6 +1,6 @@  - net8.0 + net10.0 latest enable enable @@ -13,14 +13,14 @@ - - - - + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/backend/src/Squidex/Areas/IdentityServer/Config/ApplicationExtensions.cs b/backend/src/Squidex/Areas/IdentityServer/Config/ApplicationExtensions.cs index f6694eda5..a695f5edb 100644 --- a/backend/src/Squidex/Areas/IdentityServer/Config/ApplicationExtensions.cs +++ b/backend/src/Squidex/Areas/IdentityServer/Config/ApplicationExtensions.cs @@ -5,6 +5,7 @@ // All rights reserved. Licensed under the MIT license. // ========================================================================== +using System.Collections.Immutable; using System.Security.Claims; using System.Text.Json; using OpenIddict.Abstractions; @@ -34,21 +35,26 @@ public static class ApplicationExtensions return application; } - private static JsonElement CreateParameter(IEnumerable values) + private static JsonElement CreateParameter(IEnumerable values) { - return (JsonElement)new OpenIddictParameter(values.ToArray()); + return (JsonElement)new OpenIddictParameter(values.ToImmutableArray()); } public static IEnumerable Claims(this IReadOnlyDictionary properties) { foreach (var (key, value) in properties) { - var values = (string[]?)new OpenIddictParameter(value); + var values = (ImmutableArray?)new OpenIddictParameter(value); if (values != null) { foreach (var claimValue in values) { + if (claimValue == null) + { + continue; + } + if (key == SquidexClaimTypes.DisplayName) { yield return new Claim(OpenIdClaims.Name, claimValue); diff --git a/backend/src/Squidex/Areas/IdentityServer/Config/ApplicationManager.cs b/backend/src/Squidex/Areas/IdentityServer/Config/ApplicationManager.cs index 30ee4c09f..95c904766 100644 --- a/backend/src/Squidex/Areas/IdentityServer/Config/ApplicationManager.cs +++ b/backend/src/Squidex/Areas/IdentityServer/Config/ApplicationManager.cs @@ -12,11 +12,11 @@ using OpenIddict.Core; namespace Squidex.Areas.IdentityServer.Config; public sealed class ApplicationManager( - IOptionsMonitor options, IOpenIddictApplicationCache cache, - IOpenIddictApplicationStoreResolver resolver, - ILogger> logger) - : OpenIddictApplicationManager(cache, logger, options, resolver) where T : class + ILogger> logger, + IOptionsMonitor options, + IOpenIddictApplicationStore store) + : OpenIddictApplicationManager(cache, logger, options, store) where T : class { protected override ValueTask ValidateClientSecretAsync(string secret, string comparand, CancellationToken cancellationToken = default) diff --git a/backend/src/Squidex/Areas/IdentityServer/Config/DynamicApplicationStore.cs b/backend/src/Squidex/Areas/IdentityServer/Config/DynamicApplicationStore.cs index 825b643b2..a081deb24 100644 --- a/backend/src/Squidex/Areas/IdentityServer/Config/DynamicApplicationStore.cs +++ b/backend/src/Squidex/Areas/IdentityServer/Config/DynamicApplicationStore.cs @@ -148,7 +148,7 @@ public class DynamicApplicationStore(IServiceProvider serviceProvider) : InMemor Permissions = { Permissions.Endpoints.Authorization, - Permissions.Endpoints.Logout, + Permissions.Endpoints.EndSession, Permissions.Endpoints.Token, Permissions.GrantTypes.AuthorizationCode, Permissions.GrantTypes.RefreshToken, @@ -175,7 +175,7 @@ public class DynamicApplicationStore(IServiceProvider serviceProvider) : InMemor Permissions = { Permissions.Endpoints.Authorization, - Permissions.Endpoints.Logout, + Permissions.Endpoints.EndSession, Permissions.Endpoints.Token, Permissions.GrantTypes.Implicit, Permissions.ResponseTypes.IdToken, diff --git a/backend/src/Squidex/Areas/IdentityServer/Config/IdentityServerServices.cs b/backend/src/Squidex/Areas/IdentityServer/Config/IdentityServerServices.cs index 9dc70a71f..bfc7f4d80 100644 --- a/backend/src/Squidex/Areas/IdentityServer/Config/IdentityServerServices.cs +++ b/backend/src/Squidex/Areas/IdentityServer/Config/IdentityServerServices.cs @@ -114,10 +114,10 @@ public static class IdentityServerServices builder.UseAspNetCore() .DisableTransportSecurityRequirement() .EnableAuthorizationEndpointPassthrough() - .EnableLogoutEndpointPassthrough() + .EnableEndSessionEndpointPassthrough() .EnableStatusCodePagesIntegration() .EnableTokenEndpointPassthrough() - .EnableUserinfoEndpointPassthrough(); + .EnableUserInfoEndpointPassthrough(); builder.SetAccessTokenLifetime(TimeSpan.FromDays(30)); }) @@ -164,16 +164,16 @@ public static class IdentityServerServices options.IntrospectionEndpointUris.SetEndpoint( BuildUrl("connect/introspect")); - options.LogoutEndpointUris.SetEndpoint( + options.EndSessionEndpointUris.SetEndpoint( BuildUrl("connect/logout")); options.TokenEndpointUris.SetEndpoint( BuildUrl("connect/token")); - options.UserinfoEndpointUris.SetEndpoint( + options.UserInfoEndpointUris.SetEndpoint( BuildUrl("connect/userinfo")); - options.CryptographyEndpointUris.SetEndpoint( + options.JsonWebKeySetEndpointUris.SetEndpoint( BuildUrl(".well-known/jwks")); options.ConfigurationEndpointUris.SetEndpoint( diff --git a/backend/src/Squidex/Areas/IdentityServer/Controllers/Connect/AuthorizationController.cs b/backend/src/Squidex/Areas/IdentityServer/Controllers/Connect/AuthorizationController.cs index c0bcaca15..da22df1ea 100644 --- a/backend/src/Squidex/Areas/IdentityServer/Controllers/Connect/AuthorizationController.cs +++ b/backend/src/Squidex/Areas/IdentityServer/Controllers/Connect/AuthorizationController.cs @@ -115,7 +115,7 @@ public class AuthorizationController( if (User.Identity?.IsAuthenticated != true) { - if (request.HasPrompt(Prompts.None)) + if (request.HasPromptValue(PromptValues.None)) { var properties = new AuthenticationProperties(new Dictionary { diff --git a/backend/src/Squidex/Config/Domain/EventSourcingServices.cs b/backend/src/Squidex/Config/Domain/EventSourcingServices.cs index 71481a25c..55d6d42f5 100644 --- a/backend/src/Squidex/Config/Domain/EventSourcingServices.cs +++ b/backend/src/Squidex/Config/Domain/EventSourcingServices.cs @@ -5,8 +5,6 @@ // All rights reserved. Licensed under the MIT license. // ========================================================================== -using EventStore.Client; -using Squidex.Events.GetEventStore; using Squidex.Hosting.Configuration; using Squidex.Infrastructure.Commands; using Squidex.Infrastructure.EventSourcing; @@ -37,15 +35,6 @@ public static class EventSourcingServices services.AddSquidexEntityFrameworkEventStore(config); }, - ["GetEventStore"] = () => - { - var configuration = config.GetRequiredValue("eventStore:getEventStore:configuration"); - - services.AddSingletonAs(_ => EventStoreClientSettings.Create(configuration)) - .AsSelf(); - - services.AddGetEventStore(config); - }, }); services.AddTransientAs() diff --git a/backend/src/Squidex/Config/Web/WebServices.cs b/backend/src/Squidex/Config/Web/WebServices.cs index 748013a9d..d30a47623 100644 --- a/backend/src/Squidex/Config/Web/WebServices.cs +++ b/backend/src/Squidex/Config/Web/WebServices.cs @@ -68,9 +68,6 @@ public static class WebServices services.AddSingletonAs() .As(); - services.AddSingletonAs() - .As(); - services.Configure(options => { options.SuppressInferBindingSourcesForParameters = true; diff --git a/backend/src/Squidex/Squidex.csproj b/backend/src/Squidex/Squidex.csproj index fc95a5e3e..c88c96957 100644 --- a/backend/src/Squidex/Squidex.csproj +++ b/backend/src/Squidex/Squidex.csproj @@ -1,6 +1,6 @@  - net8.0 + net10.0 latest enable en @@ -29,66 +29,62 @@ - - - - - - + + + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - + + + + + + - - - - - + + - - - + + + - - - + + + - - - - - - - - - - - - + + + + + + + + + + + - - - - - + + + + + - + - + - + @@ -170,4 +166,8 @@ Resources.Designer.cs + + + + \ No newline at end of file diff --git a/backend/tests/Squidex.Data.Tests.CodeGenerator/Squidex.Data.Tests.CodeGenerator.csproj b/backend/tests/Squidex.Data.Tests.CodeGenerator/Squidex.Data.Tests.CodeGenerator.csproj index 656f95683..4a6d8fa0f 100644 --- a/backend/tests/Squidex.Data.Tests.CodeGenerator/Squidex.Data.Tests.CodeGenerator.csproj +++ b/backend/tests/Squidex.Data.Tests.CodeGenerator/Squidex.Data.Tests.CodeGenerator.csproj @@ -16,12 +16,12 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - + + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/backend/tests/Squidex.Data.Tests/EntityFramework/Migrations/MySqlMigrationTests.cs b/backend/tests/Squidex.Data.Tests/EntityFramework/Migrations/MySqlMigrationTests.cs index c514efbd6..1c4bd93e0 100644 --- a/backend/tests/Squidex.Data.Tests/EntityFramework/Migrations/MySqlMigrationTests.cs +++ b/backend/tests/Squidex.Data.Tests/EntityFramework/Migrations/MySqlMigrationTests.cs @@ -18,7 +18,7 @@ namespace Squidex.EntityFramework.Migrations; [Trait("Category", "TestContainer")] public class MySqlMigrationTests : IAsyncLifetime { - private readonly MySqlContainer mysql = new MySqlBuilder().Build(); + private readonly MySqlContainer mysql = new MySqlBuilder("mysql:8.0").Build(); public async Task InitializeAsync() { diff --git a/backend/tests/Squidex.Data.Tests/EntityFramework/Migrations/PostgresMigrationTests.cs b/backend/tests/Squidex.Data.Tests/EntityFramework/Migrations/PostgresMigrationTests.cs index 1893160ce..29574329c 100644 --- a/backend/tests/Squidex.Data.Tests/EntityFramework/Migrations/PostgresMigrationTests.cs +++ b/backend/tests/Squidex.Data.Tests/EntityFramework/Migrations/PostgresMigrationTests.cs @@ -19,8 +19,7 @@ namespace Squidex.EntityFramework.Migrations; public class PostgresMigrationTests : IAsyncLifetime { private readonly PostgreSqlContainer postgreSql = - new PostgreSqlBuilder() - .WithImage("postgis/postgis") + new PostgreSqlBuilder("postgis/postgis") .Build(); public async Task InitializeAsync() diff --git a/backend/tests/Squidex.Data.Tests/EntityFramework/Migrations/SqlServerMigrationTests.cs b/backend/tests/Squidex.Data.Tests/EntityFramework/Migrations/SqlServerMigrationTests.cs index bd2c55658..9dd05cc8e 100644 --- a/backend/tests/Squidex.Data.Tests/EntityFramework/Migrations/SqlServerMigrationTests.cs +++ b/backend/tests/Squidex.Data.Tests/EntityFramework/Migrations/SqlServerMigrationTests.cs @@ -18,7 +18,9 @@ namespace Squidex.EntityFramework.Migrations; [Trait("Category", "TestContainer")] public class SqlServerMigrationTests : IAsyncLifetime { - private readonly MsSqlContainer sqlServer = new MsSqlBuilder().Build(); + private readonly MsSqlContainer sqlServer = + new MsSqlBuilder("mcr.microsoft.com/mssql/server:2022-CU14-ubuntu-22.04") + .Build(); public async Task InitializeAsync() { diff --git a/backend/tests/Squidex.Data.Tests/EntityFramework/TestHelpers/MySqlFixture.cs b/backend/tests/Squidex.Data.Tests/EntityFramework/TestHelpers/MySqlFixture.cs index 74962a409..bdb5c7b4b 100644 --- a/backend/tests/Squidex.Data.Tests/EntityFramework/TestHelpers/MySqlFixture.cs +++ b/backend/tests/Squidex.Data.Tests/EntityFramework/TestHelpers/MySqlFixture.cs @@ -22,7 +22,7 @@ namespace Squidex.EntityFramework.TestHelpers; public class MySqlFixture(string? reuseId = null) : IAsyncLifetime, ISqlContentFixture { private readonly MySqlContainer mysql = - new MySqlBuilder() + new MySqlBuilder("mysql:8.0") .WithReuse(true) .WithLabel("reuse-id", reuseId) .WithCommand("--log-bin-trust-function-creators=1", "--local-infile=1") diff --git a/backend/tests/Squidex.Data.Tests/EntityFramework/TestHelpers/PostgresFixture.cs b/backend/tests/Squidex.Data.Tests/EntityFramework/TestHelpers/PostgresFixture.cs index d75322fcf..b811ea70e 100644 --- a/backend/tests/Squidex.Data.Tests/EntityFramework/TestHelpers/PostgresFixture.cs +++ b/backend/tests/Squidex.Data.Tests/EntityFramework/TestHelpers/PostgresFixture.cs @@ -22,8 +22,7 @@ namespace Squidex.EntityFramework.TestHelpers; public class PostgresFixture(string? reuseId) : IAsyncLifetime, ISqlContentFixture { private readonly PostgreSqlContainer postgreSql = - new PostgreSqlBuilder() - .WithImage("postgis/postgis") + new PostgreSqlBuilder("postgis/postgis") .WithReuse(true) .WithLabel("reuse-id", reuseId) .Build(); diff --git a/backend/tests/Squidex.Data.Tests/EntityFramework/TestHelpers/SqlServerFixture.cs b/backend/tests/Squidex.Data.Tests/EntityFramework/TestHelpers/SqlServerFixture.cs index 06d5d4fb0..fdfc61caa 100644 --- a/backend/tests/Squidex.Data.Tests/EntityFramework/TestHelpers/SqlServerFixture.cs +++ b/backend/tests/Squidex.Data.Tests/EntityFramework/TestHelpers/SqlServerFixture.cs @@ -23,8 +23,7 @@ namespace Squidex.EntityFramework.TestHelpers; public class SqlServerFixture(string? reuseId = null) : IAsyncLifetime, ISqlContentFixture { private readonly MsSqlContainer sqlServer = - new MsSqlBuilder() - .WithImage("vibs2006/sql_server_fts") + new MsSqlBuilder("vibs2006/sql_server_fts") .WithReuse(true) .WithLabel("reuse-id", reuseId) .Build(); diff --git a/backend/tests/Squidex.Data.Tests/MongoDb/Domain/Contents/Text/AtlasParsingTests.cs b/backend/tests/Squidex.Data.Tests/MongoDb/Domain/Contents/Text/AtlasParsingTests.cs index 7a2be7395..69904e20c 100644 --- a/backend/tests/Squidex.Data.Tests/MongoDb/Domain/Contents/Text/AtlasParsingTests.cs +++ b/backend/tests/Squidex.Data.Tests/MongoDb/Domain/Contents/Text/AtlasParsingTests.cs @@ -21,7 +21,7 @@ public class AtlasParsingTests private static readonly LuceneQueryVisitor QueryVisitor = new LuceneQueryVisitor(); private static readonly LuceneQueryAnalyzer QueryParser = new LuceneQueryAnalyzer(LuceneVersion.LUCENE_48, "*", - new StandardAnalyzer(LuceneVersion.LUCENE_48, CharArraySet.EMPTY_SET)); + new StandardAnalyzer(LuceneVersion.LUCENE_48, CharArraySet.Empty)); private static readonly JsonSerializerOptions JsonSerializerOptions = new JsonSerializerOptions { WriteIndented = true, diff --git a/backend/tests/Squidex.Data.Tests/MongoDb/TestHelpers/DocumentDbFixture.cs b/backend/tests/Squidex.Data.Tests/MongoDb/TestHelpers/DocumentDbFixture.cs index f30afbbcf..13fb7fb71 100644 --- a/backend/tests/Squidex.Data.Tests/MongoDb/TestHelpers/DocumentDbFixture.cs +++ b/backend/tests/Squidex.Data.Tests/MongoDb/TestHelpers/DocumentDbFixture.cs @@ -35,7 +35,7 @@ public class DocumentDbFixture ); var certPath = TestConfig.Configuration.GetValue("documentDb:keyFile")!; - var certFile = new X509Certificate2(certPath); + var certFile = X509CertificateLoader.LoadCertificateFromFile(certPath); settings.RetryWrites = false; settings.RetryReads = false; diff --git a/backend/tests/Squidex.Data.Tests/MongoDb/TestHelpers/MongoFixture.cs b/backend/tests/Squidex.Data.Tests/MongoDb/TestHelpers/MongoFixture.cs index 22e518307..d20eba25b 100644 --- a/backend/tests/Squidex.Data.Tests/MongoDb/TestHelpers/MongoFixture.cs +++ b/backend/tests/Squidex.Data.Tests/MongoDb/TestHelpers/MongoFixture.cs @@ -21,7 +21,7 @@ public sealed class MongoFixtureCollection : ICollectionFixture public class MongoFixture : IAsyncLifetime { private readonly MongoDbContainer mongoDb = - new MongoDbBuilder() + new MongoDbBuilder("mongo:6.0") .WithReuse(false) .WithLabel("reuse-id", "squidex-mongodb") .Build(); diff --git a/backend/tests/Squidex.Data.Tests/Squidex.Data.Tests.csproj b/backend/tests/Squidex.Data.Tests/Squidex.Data.Tests.csproj index c569ef665..0b477497a 100644 --- a/backend/tests/Squidex.Data.Tests/Squidex.Data.Tests.csproj +++ b/backend/tests/Squidex.Data.Tests/Squidex.Data.Tests.csproj @@ -1,7 +1,7 @@  Exe - net8.0 + net10.0 Squidex latest enable @@ -19,30 +19,30 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - + + + + + + - - - - - - - + + + + + + + all runtime; build; native; contentfiles; analyzers diff --git a/backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/ConvertContent/DefaultValuesTests.cs b/backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/ConvertContent/DefaultValuesTests.cs index af06db644..052925bc4 100644 --- a/backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/ConvertContent/DefaultValuesTests.cs +++ b/backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/ConvertContent/DefaultValuesTests.cs @@ -5,6 +5,7 @@ // All rights reserved. Licensed under the MIT license. // ========================================================================== +using System.Globalization; using NodaTime; using Squidex.Domain.Apps.Core.Apps; using Squidex.Domain.Apps.Core.Contents; @@ -71,7 +72,7 @@ public class DefaultValuesTests .AddInvariant(456)) .AddField("myDatetime", new ContentFieldData() - .AddInvariant(now.ToString())) + .AddInvariant(now.ToString("g", CultureInfo.InvariantCulture))) .AddField("myBoolean", new ContentFieldData() .AddInvariant(true)) @@ -111,7 +112,7 @@ public class DefaultValuesTests .AddInvariant(456)) .AddField("myDatetime", new ContentFieldData() - .AddInvariant(now.ToString())) + .AddInvariant(now.ToString("g", CultureInfo.InvariantCulture))) .AddField("myArray", new ContentFieldData() .AddInvariant( @@ -151,7 +152,7 @@ public class DefaultValuesTests .AddInvariant(456)) .AddField("myDatetime", new ContentFieldData() - .AddInvariant(now.ToString())) + .AddInvariant(now.ToString("g", CultureInfo.InvariantCulture))) .AddField("myBoolean", new ContentFieldData() .AddInvariant(true)) @@ -193,7 +194,7 @@ public class DefaultValuesTests .AddInvariant(456)) .AddField("myDatetime", new ContentFieldData() - .AddInvariant(now.ToString())) + .AddInvariant(now.ToString("g", CultureInfo.InvariantCulture))) .AddField("myBoolean", new ContentFieldData() .AddInvariant(true)) diff --git a/backend/tests/Squidex.Domain.Apps.Core.Tests/Squidex.Domain.Apps.Core.Tests.csproj b/backend/tests/Squidex.Domain.Apps.Core.Tests/Squidex.Domain.Apps.Core.Tests.csproj index 4b60b6398..bc84a2fe5 100644 --- a/backend/tests/Squidex.Domain.Apps.Core.Tests/Squidex.Domain.Apps.Core.Tests.csproj +++ b/backend/tests/Squidex.Domain.Apps.Core.Tests/Squidex.Domain.Apps.Core.Tests.csproj @@ -1,7 +1,7 @@  Exe - net8.0 + net10.0 Squidex.Domain.Apps.Core latest enable @@ -13,25 +13,25 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + + - + - - - + + + all runtime; build; native; contentfiles; analyzers diff --git a/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/DomainObject/ContentsBulkUpdateCommandMiddlewareTests.cs b/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/DomainObject/ContentsBulkUpdateCommandMiddlewareTests.cs index 4399522aa..13243f3b3 100644 --- a/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/DomainObject/ContentsBulkUpdateCommandMiddlewareTests.cs +++ b/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/DomainObject/ContentsBulkUpdateCommandMiddlewareTests.cs @@ -122,7 +122,7 @@ public class ContentsBulkUpdateCommandMiddlewareTests : GivenContext Assert.Single(actual, x => x.JobIndex == 0 && x.Id == id && x.Exception == null); A.CallTo(() => commandBus.PublishAsync( - A.That.Matches(x => x.Data == data && x.ContentId == id), A._)) + A.That.Matches(x => ReferenceEquals(x.Data, data) && x.ContentId == id), A._)) .MustHaveHappenedOnceExactly(); } @@ -157,11 +157,11 @@ public class ContentsBulkUpdateCommandMiddlewareTests : GivenContext Assert.Single(actual, x => x.JobIndex == 0 && x.Id == content2.Id && x.Exception == null); A.CallTo(() => commandBus.PublishAsync( - A.That.Matches(x => x.Data == data && x.ContentId == content1.Id), A._)) + A.That.Matches(x => ReferenceEquals(x.Data, data) && x.ContentId == content1.Id), A._)) .MustHaveHappenedOnceExactly(); A.CallTo(() => commandBus.PublishAsync( - A.That.Matches(x => x.Data == data && x.ContentId == content2.Id), A._)) + A.That.Matches(x => ReferenceEquals(x.Data, data) && x.ContentId == content2.Id), A._)) .MustHaveHappenedOnceExactly(); } @@ -180,7 +180,7 @@ public class ContentsBulkUpdateCommandMiddlewareTests : GivenContext Assert.Single(actual, x => x.JobIndex == 0 && x.Id != default && x.Exception == null); A.CallTo(() => commandBus.PublishAsync( - A.That.Matches(x => x.Data == data && x.ContentId != default), A._)) + A.That.Matches(x => ReferenceEquals(x.Data, data) && x.ContentId != default), A._)) .MustHaveHappenedOnceExactly(); } @@ -199,7 +199,7 @@ public class ContentsBulkUpdateCommandMiddlewareTests : GivenContext Assert.Single(actual, x => x.JobIndex == 0 && x.Id != default && x.Exception == null); A.CallTo(() => commandBus.PublishAsync( - A.That.Matches(x => x.Data == data && x.ContentId != default), A._)) + A.That.Matches(x => ReferenceEquals(x.Data, data) && x.ContentId != default), A._)) .MustHaveHappenedOnceExactly(); } @@ -218,7 +218,7 @@ public class ContentsBulkUpdateCommandMiddlewareTests : GivenContext Assert.Single(actual, x => x.JobIndex == 0 && x.Id != default && x.Exception == null); A.CallTo(() => commandBus.PublishAsync( - A.That.Matches(x => x.Data == data && x.ContentId == id), A._)) + A.That.Matches(x => ReferenceEquals(x.Data, data) && x.ContentId == id), A._)) .MustHaveHappenedOnceExactly(); } @@ -237,7 +237,7 @@ public class ContentsBulkUpdateCommandMiddlewareTests : GivenContext Assert.Single(actual, x => x.JobIndex == 0 && x.Id != default && x.Exception == null); A.CallTo(() => commandBus.PublishAsync( - A.That.Matches(x => x.Data == data && x.ContentId == id), A._)) + A.That.Matches(x => ReferenceEquals(x.Data, data) && x.ContentId == id), A._)) .MustHaveHappenedOnceExactly(); } @@ -256,7 +256,7 @@ public class ContentsBulkUpdateCommandMiddlewareTests : GivenContext Assert.Single(actual, x => x.JobIndex == 0 && x.Id == id && x.Exception == null); A.CallTo(() => commandBus.PublishAsync( - A.That.Matches(x => x.ContentId == id && x.Data == data), A._)) + A.That.Matches(x => x.ContentId == id && ReferenceEquals(x.Data, data)), A._)) .MustHaveHappened(); } @@ -293,7 +293,7 @@ public class ContentsBulkUpdateCommandMiddlewareTests : GivenContext Assert.Single(actual, x => x.JobIndex == 0 && x.Id == id && x.Exception == null); A.CallTo(() => commandBus.PublishAsync( - A.That.Matches(x => x.ContentId == id && x.Data == data), A._)) + A.That.Matches(x => x.ContentId == id && ReferenceEquals(x.Data, data)), A._)) .MustHaveHappened(); } @@ -367,7 +367,7 @@ public class ContentsBulkUpdateCommandMiddlewareTests : GivenContext Assert.Single(actual, x => x.JobIndex == 0 && x.Id == id && x.Exception == null); A.CallTo(() => commandBus.PublishAsync( - A.That.Matches(x => x.ContentId == id && x.Data == data), A._)) + A.That.Matches(x => x.ContentId == id && ReferenceEquals(x.Data, data)), A._)) .MustHaveHappened(); } diff --git a/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/GraphQL/TestContent.cs b/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/GraphQL/TestContent.cs index ce14e684d..c655d9cec 100644 --- a/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/GraphQL/TestContent.cs +++ b/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/GraphQL/TestContent.cs @@ -5,6 +5,7 @@ // All rights reserved. Licensed under the MIT license. // ========================================================================== +using System.Globalization; using NodaTime; using Squidex.Domain.Apps.Core.Contents; using Squidex.Domain.Apps.Core.Schemas; @@ -526,7 +527,7 @@ public static class TestContent }, ["myDatetime"] = new { - iv = content.LastModified.ToString(), + iv = content.LastModified.ToString("g", CultureInfo.CurrentCulture), }, ["myReferences"] = new { @@ -694,7 +695,7 @@ public static class TestContent }, ["myDatetime"] = new { - iv = content.LastModified.ToString(), + iv = content.LastModified.ToString("g", CultureInfo.CurrentCulture), }, ["myGeolocation"] = new { @@ -868,7 +869,7 @@ public static class TestContent ["myLocalizedString"] = "de-DE", ["myNumber"] = 1.0, ["myBoolean"] = true, - ["myDatetime"] = content.LastModified.ToString(), + ["myDatetime"] = content.LastModified.ToString("g", CultureInfo.CurrentCulture), ["myGeolocation"] = new { latitude = 10, diff --git a/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/Text/ElasticSearchTextIndexFixture.cs b/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/Text/ElasticSearchTextIndexFixture.cs index 961de0d92..de9070718 100644 --- a/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/Text/ElasticSearchTextIndexFixture.cs +++ b/backend/tests/Squidex.Domain.Apps.Entities.Tests/Contents/Text/ElasticSearchTextIndexFixture.cs @@ -15,7 +15,7 @@ namespace Squidex.Domain.Apps.Entities.Contents.Text; public sealed class ElasticSearchTextIndexFixture : IAsyncLifetime { private readonly ElasticsearchContainer elastic = - new ElasticsearchBuilder() + new ElasticsearchBuilder("elasticsearch:8.6.1") .WithReuse(true) .WithLabel("resuse-id", "elastic-text") .Build(); diff --git a/backend/tests/Squidex.Domain.Apps.Entities.Tests/Squidex.Domain.Apps.Entities.Tests.csproj b/backend/tests/Squidex.Domain.Apps.Entities.Tests/Squidex.Domain.Apps.Entities.Tests.csproj index e41d71c85..1d586f950 100644 --- a/backend/tests/Squidex.Domain.Apps.Entities.Tests/Squidex.Domain.Apps.Entities.Tests.csproj +++ b/backend/tests/Squidex.Domain.Apps.Entities.Tests/Squidex.Domain.Apps.Entities.Tests.csproj @@ -1,7 +1,7 @@  Exe - net8.0 + net10.0 Squidex.Domain.Apps.Entities latest enable @@ -20,32 +20,32 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + - - - - + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - - + + + + + + + - - - - - + + + + + all runtime; build; native; contentfiles; analyzers diff --git a/backend/tests/Squidex.Domain.Apps.Entities.Tests/TestHelpers/VerifySettings.cs b/backend/tests/Squidex.Domain.Apps.Entities.Tests/TestHelpers/VerifySettings.cs index ebf57fb01..709943e33 100644 --- a/backend/tests/Squidex.Domain.Apps.Entities.Tests/TestHelpers/VerifySettings.cs +++ b/backend/tests/Squidex.Domain.Apps.Entities.Tests/TestHelpers/VerifySettings.cs @@ -116,7 +116,7 @@ public static partial class VerifySettings var originalKeyResolver = dictionaryContract.DictionaryKeyResolver!; - dictionaryContract.DictionaryKeyResolver = (name, original) => + dictionaryContract.DictionaryKeyResolver = (writer, name, original) => { if (original is string id && Guid.TryParse(id, out var guid1)) { @@ -132,7 +132,7 @@ public static partial class VerifySettings return $"Guid_{index}"; } - return originalKeyResolver(name, original); + return originalKeyResolver(writer, name, original); }; return contract; diff --git a/backend/tests/Squidex.Domain.Users.Tests/Squidex.Domain.Users.Tests.csproj b/backend/tests/Squidex.Domain.Users.Tests/Squidex.Domain.Users.Tests.csproj index 264a9a577..4dd112148 100644 --- a/backend/tests/Squidex.Domain.Users.Tests/Squidex.Domain.Users.Tests.csproj +++ b/backend/tests/Squidex.Domain.Users.Tests/Squidex.Domain.Users.Tests.csproj @@ -1,7 +1,7 @@  Exe - net8.0 + net10.0 Squidex.Domain.Users latest enable @@ -13,21 +13,21 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + - - - + + + all runtime; build; native; contentfiles; analyzers diff --git a/backend/tests/Squidex.Infrastructure.Tests/Json/Objects/JsonObjectTests.cs b/backend/tests/Squidex.Infrastructure.Tests/Json/Objects/JsonObjectTests.cs index 2bfd86133..4420a0fe0 100644 --- a/backend/tests/Squidex.Infrastructure.Tests/Json/Objects/JsonObjectTests.cs +++ b/backend/tests/Squidex.Infrastructure.Tests/Json/Objects/JsonObjectTests.cs @@ -5,6 +5,7 @@ // All rights reserved. Licensed under the MIT license. // ========================================================================== +using System.Globalization; using System.Text.Json; using NodaTime; @@ -252,8 +253,8 @@ public class JsonObjectTests foreach (var json in jsons) { - Assert.Equal(instant.ToString(), json.Value); - Assert.Equal(instant.ToString(), json.AsString); + Assert.Equal(instant.ToString("g", CultureInfo.InvariantCulture), json.Value); + Assert.Equal(instant.ToString("g", CultureInfo.InvariantCulture), json.AsString); Assert.Equal(JsonValueType.String, json.Type); Assert.Throws(() => json.AsBoolean); diff --git a/backend/tests/Squidex.Infrastructure.Tests/Migrations/MigratorTests.cs b/backend/tests/Squidex.Infrastructure.Tests/Migrations/MigratorTests.cs index 416b84b85..bafbe59bb 100644 --- a/backend/tests/Squidex.Infrastructure.Tests/Migrations/MigratorTests.cs +++ b/backend/tests/Squidex.Infrastructure.Tests/Migrations/MigratorTests.cs @@ -20,7 +20,7 @@ public class MigratorTests public sealed class InMemoryStatus : IMigrationStatus { - private readonly object lockObject = new object(); + private readonly Lock lockObject = new Lock(); private int version; private bool isLocked; diff --git a/backend/tests/Squidex.Infrastructure.Tests/Squidex.Infrastructure.Tests.csproj b/backend/tests/Squidex.Infrastructure.Tests/Squidex.Infrastructure.Tests.csproj index b0b665b08..afdb72ed3 100644 --- a/backend/tests/Squidex.Infrastructure.Tests/Squidex.Infrastructure.Tests.csproj +++ b/backend/tests/Squidex.Infrastructure.Tests/Squidex.Infrastructure.Tests.csproj @@ -1,7 +1,7 @@  Exe - net8.0 + net10.0 Squidex.Infrastructure latest enable @@ -12,26 +12,26 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - + + + + + + - - - + + + all runtime; build; native; contentfiles; analyzers diff --git a/backend/tests/Squidex.Web.Tests/Squidex.Web.Tests.csproj b/backend/tests/Squidex.Web.Tests/Squidex.Web.Tests.csproj index f5b48f41b..6bdf55416 100644 --- a/backend/tests/Squidex.Web.Tests/Squidex.Web.Tests.csproj +++ b/backend/tests/Squidex.Web.Tests/Squidex.Web.Tests.csproj @@ -1,7 +1,7 @@  Exe - net8.0 + net10.0 Squidex.Web latest enable @@ -14,21 +14,21 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - + + - - + + all runtime; build; native; contentfiles; analyzers diff --git a/backend/tools/GenerateLanguages/GenerateLanguages.csproj b/backend/tools/GenerateLanguages/GenerateLanguages.csproj index 5c8d2f889..bf0057afd 100644 --- a/backend/tools/GenerateLanguages/GenerateLanguages.csproj +++ b/backend/tools/GenerateLanguages/GenerateLanguages.csproj @@ -1,7 +1,7 @@ Exe - net8.0 + net10.0 latest enable diff --git a/frontend/generator/Generator/Generator.csproj b/frontend/generator/Generator/Generator.csproj index 18d724789..5a0e400e5 100644 --- a/frontend/generator/Generator/Generator.csproj +++ b/frontend/generator/Generator/Generator.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net10.0 enable enable diff --git a/tools/TestSuite/TestSuite.ApiTests/TestSuite.ApiTests.csproj b/tools/TestSuite/TestSuite.ApiTests/TestSuite.ApiTests.csproj index 62a35c251..ad98228d7 100644 --- a/tools/TestSuite/TestSuite.ApiTests/TestSuite.ApiTests.csproj +++ b/tools/TestSuite/TestSuite.ApiTests/TestSuite.ApiTests.csproj @@ -1,27 +1,27 @@  Exe - net8.0 + net10.0 latest enable enable - + - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - + + + + - + - + all runtime; build; native; contentfiles; analyzers diff --git a/tools/TestSuite/TestSuite.LoadTests/TestSuite.LoadTests.csproj b/tools/TestSuite/TestSuite.LoadTests/TestSuite.LoadTests.csproj index 46cc58fd3..c569ea175 100644 --- a/tools/TestSuite/TestSuite.LoadTests/TestSuite.LoadTests.csproj +++ b/tools/TestSuite/TestSuite.LoadTests/TestSuite.LoadTests.csproj @@ -1,20 +1,20 @@  Exe - net8.0 + net10.0 11.0 enable enable - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + - + all runtime; build; native; contentfiles; analyzers diff --git a/tools/TestSuite/TestSuite.Shared/TestSuite.Shared.csproj b/tools/TestSuite/TestSuite.Shared/TestSuite.Shared.csproj index 4b4ee6fde..2a33ce6f7 100644 --- a/tools/TestSuite/TestSuite.Shared/TestSuite.Shared.csproj +++ b/tools/TestSuite/TestSuite.Shared/TestSuite.Shared.csproj @@ -1,27 +1,27 @@  - net8.0 + net10.0 TestSuite latest enable enable - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - + + + + + - + - + diff --git a/tools/TestSuite/TestSuite.sln b/tools/TestSuite/TestSuite.sln deleted file mode 100644 index 5fcbe0f8f..000000000 --- a/tools/TestSuite/TestSuite.sln +++ /dev/null @@ -1,37 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.0.31903.59 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestSuite.Shared", "TestSuite.Shared\TestSuite.Shared.csproj", "{37484845-5542-4E52-AB00-C4576B84FE75}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestSuite.ApiTests", "TestSuite.ApiTests\TestSuite.ApiTests.csproj", "{E5F048CB-5307-4E4C-8DAB-2F1C0E5CACF3}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestSuite.LoadTests", "TestSuite.LoadTests\TestSuite.LoadTests.csproj", "{F37572D9-4880-40F4-B3CB-83F58A40CA48}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {37484845-5542-4E52-AB00-C4576B84FE75}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {37484845-5542-4E52-AB00-C4576B84FE75}.Debug|Any CPU.Build.0 = Debug|Any CPU - {37484845-5542-4E52-AB00-C4576B84FE75}.Release|Any CPU.ActiveCfg = Release|Any CPU - {37484845-5542-4E52-AB00-C4576B84FE75}.Release|Any CPU.Build.0 = Release|Any CPU - {E5F048CB-5307-4E4C-8DAB-2F1C0E5CACF3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E5F048CB-5307-4E4C-8DAB-2F1C0E5CACF3}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E5F048CB-5307-4E4C-8DAB-2F1C0E5CACF3}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E5F048CB-5307-4E4C-8DAB-2F1C0E5CACF3}.Release|Any CPU.Build.0 = Release|Any CPU - {F37572D9-4880-40F4-B3CB-83F58A40CA48}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F37572D9-4880-40F4-B3CB-83F58A40CA48}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F37572D9-4880-40F4-B3CB-83F58A40CA48}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F37572D9-4880-40F4-B3CB-83F58A40CA48}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {9F1CDBED-7D91-4B46-B4C5-0FE086E29285} - EndGlobalSection -EndGlobal diff --git a/tools/TestSuite/TestSuite.slnx b/tools/TestSuite/TestSuite.slnx new file mode 100644 index 000000000..eefea7bba --- /dev/null +++ b/tools/TestSuite/TestSuite.slnx @@ -0,0 +1,5 @@ + + + + +