diff --git a/aspnet-core/Lion.AbpPro.sln b/aspnet-core/Lion.AbpPro.sln
index 9fc92c85..b14fcb26 100644
--- a/aspnet-core/Lion.AbpPro.sln
+++ b/aspnet-core/Lion.AbpPro.sln
@@ -1,485 +1,552 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 17
-VisualStudioVersion = 17.0.31410.414
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.Domain", "services\src\Lion.AbpPro.Domain\Lion.AbpPro.Domain.csproj", "{554AD327-6DBA-4F8F-96F8-81CE7A0C863F}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.Application", "services\src\Lion.AbpPro.Application\Lion.AbpPro.Application.csproj", "{1A94A50E-06DC-43C1-80B5-B662820EC3EB}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.EntityFrameworkCore", "services\src\Lion.AbpPro.EntityFrameworkCore\Lion.AbpPro.EntityFrameworkCore.csproj", "{C956DD76-69C8-4A9C-83EA-D17DF83340FD}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{CA9AC87F-097E-4F15-8393-4BC07735A5B0}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{04DBDB01-70F4-4E06-B468-8F87850B22BE}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.Application.Tests", "services\test\Lion.AbpPro.Application.Tests\Lion.AbpPro.Application.Tests.csproj", "{50B2631D-129C-47B3-A587-029CCD6099BC}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.Domain.Shared", "services\src\Lion.AbpPro.Domain.Shared\Lion.AbpPro.Domain.Shared.csproj", "{42F719ED-8413-4895-B5B4-5AB56079BC66}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.Application.Contracts", "services\src\Lion.AbpPro.Application.Contracts\Lion.AbpPro.Application.Contracts.csproj", "{520659C8-C734-4298-A3DA-B539DB9DFC0B}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.HttpApi", "services\src\Lion.AbpPro.HttpApi\Lion.AbpPro.HttpApi.csproj", "{4164BDF7-F527-4E85-9CE6-E3C2D7426A27}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.HttpApi.Client", "services\src\Lion.AbpPro.HttpApi.Client\Lion.AbpPro.HttpApi.Client.csproj", "{3B5A0094-670D-4BB1-BFDD-61B88A8773DC}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.EntityFrameworkCore.Tests", "services\test\Lion.AbpPro.EntityFrameworkCore.Tests\Lion.AbpPro.EntityFrameworkCore.Tests.csproj", "{1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.TestBase", "services\test\Lion.AbpPro.TestBase\Lion.AbpPro.TestBase.csproj", "{91853F21-9CD9-4132-BC29-A7D5D84FFFE7}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.Domain.Tests", "services\test\Lion.AbpPro.Domain.Tests\Lion.AbpPro.Domain.Tests.csproj", "{E512F4D9-9375-480F-A2F6-A46509F9D824}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.HttpApi.Client.ConsoleTestApp", "services\test\Lion.AbpPro.HttpApi.Client.ConsoleTestApp\Lion.AbpPro.HttpApi.Client.ConsoleTestApp.csproj", "{EF480016-9127-4916-8735-D2466BDBC582}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.DbMigrator", "services\src\Lion.AbpPro.DbMigrator\Lion.AbpPro.DbMigrator.csproj", "{AA94D832-1CCC-4715-95A9-A483F23A1A5D}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "services", "services", "{2C861ADD-76E9-4B3B-8A3C-638EBB67D683}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "0.Solution Items", "0.Solution Items", "{2C4A6DB8-8D9E-42E6-B7C3-1EDB7B3DE22E}"
- ProjectSection(SolutionItems) = preProject
- common.props = common.props
- Directory.Build.props = Directory.Build.props
- global.json = global.json
- NuGet.Config = NuGet.Config
- EndProjectSection
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "modules", "modules", "{F8A8EB2A-2D4B-464F-9A13-F8F7B6A8FAA3}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "frameworks", "frameworks", "{CC2EBB07-A070-4158-AB37-A0C0BBAEA9F5}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Extensions", "Extensions", "{9F5676A3-00DC-48B7-93D1-341C39E19BB9}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{C4AC9352-C9F5-4096-8D73-13638232CFB9}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NotificationManagement", "NotificationManagement", "{EB2B8705-18E7-49E1-A565-93A6DE5570D5}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{E28AECBD-2904-477C-9817-C67312330A41}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{120FE15B-3E5C-4BFF-B874-F09235C9E1ED}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.NotificationManagement.Domain.Shared", "modules\NotificationManagement\src\Lion.AbpPro.NotificationManagement.Domain.Shared\Lion.AbpPro.NotificationManagement.Domain.Shared.csproj", "{3E69D96A-F923-4AC4-8430-9AAB84B6A3FE}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.NotificationManagement.Domain", "modules\NotificationManagement\src\Lion.AbpPro.NotificationManagement.Domain\Lion.AbpPro.NotificationManagement.Domain.csproj", "{F475DD35-9F27-43FF-9D96-365661ADC3C6}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.NotificationManagement.Application.Contracts", "modules\NotificationManagement\src\Lion.AbpPro.NotificationManagement.Application.Contracts\Lion.AbpPro.NotificationManagement.Application.Contracts.csproj", "{34B5BCF2-95C0-4136-AC9E-FC80D8ACBD1C}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.NotificationManagement.Application", "modules\NotificationManagement\src\Lion.AbpPro.NotificationManagement.Application\Lion.AbpPro.NotificationManagement.Application.csproj", "{4ADEEE7D-7886-4F85-BAA2-CCEE6E30EBFD}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.NotificationManagement.EntityFrameworkCore", "modules\NotificationManagement\src\Lion.AbpPro.NotificationManagement.EntityFrameworkCore\Lion.AbpPro.NotificationManagement.EntityFrameworkCore.csproj", "{10DF0925-A1EE-4B1C-AAF6-249C6D02424C}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.NotificationManagement.HttpApi", "modules\NotificationManagement\src\Lion.AbpPro.NotificationManagement.HttpApi\Lion.AbpPro.NotificationManagement.HttpApi.csproj", "{0880AA9C-0E45-43B3-B02A-093736CDD961}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.NotificationManagement.HttpApi.Client", "modules\NotificationManagement\src\Lion.AbpPro.NotificationManagement.HttpApi.Client\Lion.AbpPro.NotificationManagement.HttpApi.Client.csproj", "{B3554E2E-7150-482F-A08F-DCB8BD166FED}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.NotificationManagement.Application.Tests", "modules\NotificationManagement\test\Lion.AbpPro.NotificationManagement.Application.Tests\Lion.AbpPro.NotificationManagement.Application.Tests.csproj", "{22A3A359-C6F4-4540-A61F-C8E94A73C95E}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.NotificationManagement.Domain.Tests", "modules\NotificationManagement\test\Lion.AbpPro.NotificationManagement.Domain.Tests\Lion.AbpPro.NotificationManagement.Domain.Tests.csproj", "{FCE5BD62-F7C7-45EA-80DE-B4880C4A84C6}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.NotificationManagement.EntityFrameworkCore.Tests", "modules\NotificationManagement\test\Lion.AbpPro.NotificationManagement.EntityFrameworkCore.Tests\Lion.AbpPro.NotificationManagement.EntityFrameworkCore.Tests.csproj", "{19A921F2-1587-4E94-A023-B81956874DAB}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.NotificationManagement.TestBase", "modules\NotificationManagement\test\Lion.AbpPro.NotificationManagement.TestBase\Lion.AbpPro.NotificationManagement.TestBase.csproj", "{91A3257D-0D1A-479D-8F3C-DBB1944802FE}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "DataDictionaryManagement", "DataDictionaryManagement", "{9C53260A-6F4B-4106-98B0-EDCC10BB3E1A}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{D1CFD035-1562-42CF-A96A-0E2EA8D92E80}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{E76E35FC-B62E-48D5-A7AF-79375CFD20BD}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.DataDictionaryManagement.Application", "modules\DataDictionaryManagement\src\Lion.AbpPro.DataDictionaryManagement.Application\Lion.AbpPro.DataDictionaryManagement.Application.csproj", "{5E6550EA-D878-455C-8EF7-5382661C1D52}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.DataDictionaryManagement.Application.Contracts", "modules\DataDictionaryManagement\src\Lion.AbpPro.DataDictionaryManagement.Application.Contracts\Lion.AbpPro.DataDictionaryManagement.Application.Contracts.csproj", "{14CDCC5A-006A-41EC-8B48-F3EFAC842432}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.DataDictionaryManagement.Domain", "modules\DataDictionaryManagement\src\Lion.AbpPro.DataDictionaryManagement.Domain\Lion.AbpPro.DataDictionaryManagement.Domain.csproj", "{11C6A285-8BC0-44C9-9FAB-F93462C75ABC}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.DataDictionaryManagement.Domain.Shared", "modules\DataDictionaryManagement\src\Lion.AbpPro.DataDictionaryManagement.Domain.Shared\Lion.AbpPro.DataDictionaryManagement.Domain.Shared.csproj", "{C7EB7304-CADD-4F09-84AC-43123406B28F}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.DataDictionaryManagement.EntityFrameworkCore", "modules\DataDictionaryManagement\src\Lion.AbpPro.DataDictionaryManagement.EntityFrameworkCore\Lion.AbpPro.DataDictionaryManagement.EntityFrameworkCore.csproj", "{DE15C716-E1C3-4FC3-B976-7EA06EBF23F5}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.DataDictionaryManagement.HttpApi", "modules\DataDictionaryManagement\src\Lion.AbpPro.DataDictionaryManagement.HttpApi\Lion.AbpPro.DataDictionaryManagement.HttpApi.csproj", "{430D3AF9-DCCF-4B6F-BFAF-1ECC2F0594A2}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.DataDictionaryManagement.HttpApi.Client", "modules\DataDictionaryManagement\src\Lion.AbpPro.DataDictionaryManagement.HttpApi.Client\Lion.AbpPro.DataDictionaryManagement.HttpApi.Client.csproj", "{CC104C76-0CC6-453E-A49D-C4995B6EB72B}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.DataDictionaryManagement.Application.Tests", "modules\DataDictionaryManagement\test\Lion.AbpPro.DataDictionaryManagement.Application.Tests\Lion.AbpPro.DataDictionaryManagement.Application.Tests.csproj", "{13AF64F3-8962-4568-A0E1-833CCA1922D5}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.DataDictionaryManagement.Domain.Tests", "modules\DataDictionaryManagement\test\Lion.AbpPro.DataDictionaryManagement.Domain.Tests\Lion.AbpPro.DataDictionaryManagement.Domain.Tests.csproj", "{F9FADD90-8634-4B03-AC44-9F6C80B30E73}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.DataDictionaryManagement.EntityFrameworkCore.Tests", "modules\DataDictionaryManagement\test\Lion.AbpPro.DataDictionaryManagement.EntityFrameworkCore.Tests\Lion.AbpPro.DataDictionaryManagement.EntityFrameworkCore.Tests.csproj", "{8BC28722-20CC-41BD-B183-4E33E94CA2A7}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.DataDictionaryManagement.TestBase", "modules\DataDictionaryManagement\test\Lion.AbpPro.DataDictionaryManagement.TestBase\Lion.AbpPro.DataDictionaryManagement.TestBase.csproj", "{6A398750-D7D8-43DC-8DF8-AA65C5766154}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "host", "host", "{5AACD0EE-F2B2-49F6-868F-8FE08D7243C0}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.DataDictionaryManagement.HttpApi.Host", "modules\DataDictionaryManagement\host\Lion.AbpPro.DataDictionaryManagement.HttpApi.Host\Lion.AbpPro.DataDictionaryManagement.HttpApi.Host.csproj", "{8D196E3D-6F95-4793-B948-79669AF09017}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "host", "host", "{8C1B8C6C-C518-4290-B070-622CCA6004DA}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "CAP", "CAP", "{2C09EED0-5AF6-4F1E-B05A-FB3272EDF6E8}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{11ED8435-B5AE-4BF3-9D4B-51FA1E4A18A6}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.HttpApi.Host", "services\host\Lion.AbpPro.HttpApi.Host\Lion.AbpPro.HttpApi.Host.csproj", "{FB20372D-6C96-4733-9AAC-12522F15CAA6}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.IdentityServer", "services\host\Lion.AbpPro.IdentityServer\Lion.AbpPro.IdentityServer.csproj", "{FB1C29FF-5467-4CF0-995D-5B3F931AB135}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "shared", "shared", "{6434E3F2-B352-4B30-839A-88C2BA166D96}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.Shared.Hosting.Microservices", "shared\Lion.AbpPro.Shared.Hosting.Microservices\Lion.AbpPro.Shared.Hosting.Microservices.csproj", "{A091AE9B-3A1E-49AC-9AD5-D29310512A3D}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.Shared.Hosting.Gateways", "shared\Lion.AbpPro.Shared.Hosting.Gateways\Lion.AbpPro.Shared.Hosting.Gateways.csproj", "{C018EFF9-579E-43B3-9181-543BE95E2E03}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "gateways", "gateways", "{5C304CBC-F30D-413C-A0AF-8B6814A2D4A3}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.WebGateway", "gateways\Lion.AbpPro.WebGateway\Lion.AbpPro.WebGateway.csproj", "{D9108313-8D05-4F5F-9AA0-B443EC3374B6}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.Extension", "frameworks\Extensions\src\Lion.AbpPro.Extension\Lion.AbpPro.Extension.csproj", "{4C65690E-2C17-46A1-BB35-A51BAB2EA3B7}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.CAP", "frameworks\CAP\src\Lion.AbpPro.CAP\Lion.AbpPro.CAP.csproj", "{3C3FF821-E43D-4D58-8B3C-1E97F4518EF7}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "FileManagement", "FileManagement", "{F604F9BE-CAAB-4D94-8989-22DE4D966C7A}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "host", "host", "{C188A1F4-9601-42E5-9A0A-B282E13EAC41}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{2CC8E555-AA80-4D7A-B606-0821E6754187}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{40BF21CB-4520-45A6-A588-5FFB95BAC87C}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lion.AbpPro.FileManagement.Domain.Shared", "modules\FileManagement\src\Lion.AbpPro.FileManagement.Domain.Shared\Lion.AbpPro.FileManagement.Domain.Shared.csproj", "{866B0894-2B50-484E-BE7E-F221956557F3}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lion.AbpPro.FileManagement.Application", "modules\FileManagement\src\Lion.AbpPro.FileManagement.Application\Lion.AbpPro.FileManagement.Application.csproj", "{E7B2B79A-09D3-4B7D-83A1-F6DE57E8584B}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lion.AbpPro.FileManagement.Application.Contracts", "modules\FileManagement\src\Lion.AbpPro.FileManagement.Application.Contracts\Lion.AbpPro.FileManagement.Application.Contracts.csproj", "{3B5E4384-9E08-46A6-B526-DF198823D7C8}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lion.AbpPro.FileManagement.Domain", "modules\FileManagement\src\Lion.AbpPro.FileManagement.Domain\Lion.AbpPro.FileManagement.Domain.csproj", "{23BCC55E-3D30-4E4E-8489-15A5894EE480}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lion.AbpPro.FileManagement.EntityFrameworkCore", "modules\FileManagement\src\Lion.AbpPro.FileManagement.EntityFrameworkCore\Lion.AbpPro.FileManagement.EntityFrameworkCore.csproj", "{81B29ECF-F004-4DC6-9126-2E45B02C2DFE}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lion.AbpPro.FileManagement.HttpApi", "modules\FileManagement\src\Lion.AbpPro.FileManagement.HttpApi\Lion.AbpPro.FileManagement.HttpApi.csproj", "{65270240-0157-423A-9115-EAE2992E2FE7}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lion.AbpPro.FileManagement.HttpApi.Client", "modules\FileManagement\src\Lion.AbpPro.FileManagement.HttpApi.Client\Lion.AbpPro.FileManagement.HttpApi.Client.csproj", "{72C8D8FA-9B61-415F-8FAF-08BC7BD13E9C}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lion.AbpPro.FileManagement.Application.Tests", "modules\FileManagement\test\Lion.AbpPro.FileManagement.Application.Tests\Lion.AbpPro.FileManagement.Application.Tests.csproj", "{E6D3F0F8-0683-4A00-8459-C9C4C65D825D}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lion.AbpPro.FileManagement.Domain.Tests", "modules\FileManagement\test\Lion.AbpPro.FileManagement.Domain.Tests\Lion.AbpPro.FileManagement.Domain.Tests.csproj", "{C912E1E7-4F8F-4ADB-BB27-D40B1903FED0}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lion.AbpPro.FileManagement.EntityFrameworkCore.Tests", "modules\FileManagement\test\Lion.AbpPro.FileManagement.EntityFrameworkCore.Tests\Lion.AbpPro.FileManagement.EntityFrameworkCore.Tests.csproj", "{80E12564-E2B3-4307-B40E-20E24BF02916}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lion.AbpPro.FileManagement.HttpApi.Client.ConsoleTestApp", "modules\FileManagement\test\Lion.AbpPro.FileManagement.HttpApi.Client.ConsoleTestApp\Lion.AbpPro.FileManagement.HttpApi.Client.ConsoleTestApp.csproj", "{9201AEE4-2E6D-4A48-805F-3F3C6878BC0B}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lion.AbpPro.FileManagement.TestBase", "modules\FileManagement\test\Lion.AbpPro.FileManagement.TestBase\Lion.AbpPro.FileManagement.TestBase.csproj", "{78589964-923E-4803-9B74-183487C3ED0F}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lion.AbpPro.FileManagement.HttpApi.Host", "modules\FileManagement\host\Lion.AbpPro.FileManagement.HttpApi.Host\Lion.AbpPro.FileManagement.HttpApi.Host.csproj", "{831CD22A-AC6E-4515-AB24-8C96B34C717F}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {554AD327-6DBA-4F8F-96F8-81CE7A0C863F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {554AD327-6DBA-4F8F-96F8-81CE7A0C863F}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {554AD327-6DBA-4F8F-96F8-81CE7A0C863F}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {554AD327-6DBA-4F8F-96F8-81CE7A0C863F}.Release|Any CPU.Build.0 = Release|Any CPU
- {1A94A50E-06DC-43C1-80B5-B662820EC3EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {1A94A50E-06DC-43C1-80B5-B662820EC3EB}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {1A94A50E-06DC-43C1-80B5-B662820EC3EB}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {1A94A50E-06DC-43C1-80B5-B662820EC3EB}.Release|Any CPU.Build.0 = Release|Any CPU
- {C956DD76-69C8-4A9C-83EA-D17DF83340FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C956DD76-69C8-4A9C-83EA-D17DF83340FD}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {C956DD76-69C8-4A9C-83EA-D17DF83340FD}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {C956DD76-69C8-4A9C-83EA-D17DF83340FD}.Release|Any CPU.Build.0 = Release|Any CPU
- {50B2631D-129C-47B3-A587-029CCD6099BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {50B2631D-129C-47B3-A587-029CCD6099BC}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {50B2631D-129C-47B3-A587-029CCD6099BC}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {50B2631D-129C-47B3-A587-029CCD6099BC}.Release|Any CPU.Build.0 = Release|Any CPU
- {42F719ED-8413-4895-B5B4-5AB56079BC66}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {42F719ED-8413-4895-B5B4-5AB56079BC66}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {42F719ED-8413-4895-B5B4-5AB56079BC66}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {42F719ED-8413-4895-B5B4-5AB56079BC66}.Release|Any CPU.Build.0 = Release|Any CPU
- {520659C8-C734-4298-A3DA-B539DB9DFC0B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {520659C8-C734-4298-A3DA-B539DB9DFC0B}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {520659C8-C734-4298-A3DA-B539DB9DFC0B}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {520659C8-C734-4298-A3DA-B539DB9DFC0B}.Release|Any CPU.Build.0 = Release|Any CPU
- {4164BDF7-F527-4E85-9CE6-E3C2D7426A27}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {4164BDF7-F527-4E85-9CE6-E3C2D7426A27}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {4164BDF7-F527-4E85-9CE6-E3C2D7426A27}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {4164BDF7-F527-4E85-9CE6-E3C2D7426A27}.Release|Any CPU.Build.0 = Release|Any CPU
- {3B5A0094-670D-4BB1-BFDD-61B88A8773DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {3B5A0094-670D-4BB1-BFDD-61B88A8773DC}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {3B5A0094-670D-4BB1-BFDD-61B88A8773DC}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {3B5A0094-670D-4BB1-BFDD-61B88A8773DC}.Release|Any CPU.Build.0 = Release|Any CPU
- {1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81}.Release|Any CPU.Build.0 = Release|Any CPU
- {91853F21-9CD9-4132-BC29-A7D5D84FFFE7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {91853F21-9CD9-4132-BC29-A7D5D84FFFE7}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {91853F21-9CD9-4132-BC29-A7D5D84FFFE7}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {91853F21-9CD9-4132-BC29-A7D5D84FFFE7}.Release|Any CPU.Build.0 = Release|Any CPU
- {E512F4D9-9375-480F-A2F6-A46509F9D824}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {E512F4D9-9375-480F-A2F6-A46509F9D824}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {E512F4D9-9375-480F-A2F6-A46509F9D824}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {E512F4D9-9375-480F-A2F6-A46509F9D824}.Release|Any CPU.Build.0 = Release|Any CPU
- {EF480016-9127-4916-8735-D2466BDBC582}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {EF480016-9127-4916-8735-D2466BDBC582}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {EF480016-9127-4916-8735-D2466BDBC582}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {EF480016-9127-4916-8735-D2466BDBC582}.Release|Any CPU.Build.0 = Release|Any CPU
- {AA94D832-1CCC-4715-95A9-A483F23A1A5D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {AA94D832-1CCC-4715-95A9-A483F23A1A5D}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {AA94D832-1CCC-4715-95A9-A483F23A1A5D}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {AA94D832-1CCC-4715-95A9-A483F23A1A5D}.Release|Any CPU.Build.0 = Release|Any CPU
- {3E69D96A-F923-4AC4-8430-9AAB84B6A3FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {3E69D96A-F923-4AC4-8430-9AAB84B6A3FE}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {3E69D96A-F923-4AC4-8430-9AAB84B6A3FE}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {3E69D96A-F923-4AC4-8430-9AAB84B6A3FE}.Release|Any CPU.Build.0 = Release|Any CPU
- {F475DD35-9F27-43FF-9D96-365661ADC3C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {F475DD35-9F27-43FF-9D96-365661ADC3C6}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {F475DD35-9F27-43FF-9D96-365661ADC3C6}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {F475DD35-9F27-43FF-9D96-365661ADC3C6}.Release|Any CPU.Build.0 = Release|Any CPU
- {34B5BCF2-95C0-4136-AC9E-FC80D8ACBD1C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {34B5BCF2-95C0-4136-AC9E-FC80D8ACBD1C}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {34B5BCF2-95C0-4136-AC9E-FC80D8ACBD1C}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {34B5BCF2-95C0-4136-AC9E-FC80D8ACBD1C}.Release|Any CPU.Build.0 = Release|Any CPU
- {4ADEEE7D-7886-4F85-BAA2-CCEE6E30EBFD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {4ADEEE7D-7886-4F85-BAA2-CCEE6E30EBFD}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {4ADEEE7D-7886-4F85-BAA2-CCEE6E30EBFD}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {4ADEEE7D-7886-4F85-BAA2-CCEE6E30EBFD}.Release|Any CPU.Build.0 = Release|Any CPU
- {10DF0925-A1EE-4B1C-AAF6-249C6D02424C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {10DF0925-A1EE-4B1C-AAF6-249C6D02424C}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {10DF0925-A1EE-4B1C-AAF6-249C6D02424C}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {10DF0925-A1EE-4B1C-AAF6-249C6D02424C}.Release|Any CPU.Build.0 = Release|Any CPU
- {0880AA9C-0E45-43B3-B02A-093736CDD961}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {0880AA9C-0E45-43B3-B02A-093736CDD961}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {0880AA9C-0E45-43B3-B02A-093736CDD961}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {0880AA9C-0E45-43B3-B02A-093736CDD961}.Release|Any CPU.Build.0 = Release|Any CPU
- {B3554E2E-7150-482F-A08F-DCB8BD166FED}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {B3554E2E-7150-482F-A08F-DCB8BD166FED}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {B3554E2E-7150-482F-A08F-DCB8BD166FED}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {B3554E2E-7150-482F-A08F-DCB8BD166FED}.Release|Any CPU.Build.0 = Release|Any CPU
- {22A3A359-C6F4-4540-A61F-C8E94A73C95E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {22A3A359-C6F4-4540-A61F-C8E94A73C95E}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {22A3A359-C6F4-4540-A61F-C8E94A73C95E}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {22A3A359-C6F4-4540-A61F-C8E94A73C95E}.Release|Any CPU.Build.0 = Release|Any CPU
- {FCE5BD62-F7C7-45EA-80DE-B4880C4A84C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {FCE5BD62-F7C7-45EA-80DE-B4880C4A84C6}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {FCE5BD62-F7C7-45EA-80DE-B4880C4A84C6}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {FCE5BD62-F7C7-45EA-80DE-B4880C4A84C6}.Release|Any CPU.Build.0 = Release|Any CPU
- {19A921F2-1587-4E94-A023-B81956874DAB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {19A921F2-1587-4E94-A023-B81956874DAB}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {19A921F2-1587-4E94-A023-B81956874DAB}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {19A921F2-1587-4E94-A023-B81956874DAB}.Release|Any CPU.Build.0 = Release|Any CPU
- {91A3257D-0D1A-479D-8F3C-DBB1944802FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {91A3257D-0D1A-479D-8F3C-DBB1944802FE}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {91A3257D-0D1A-479D-8F3C-DBB1944802FE}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {91A3257D-0D1A-479D-8F3C-DBB1944802FE}.Release|Any CPU.Build.0 = Release|Any CPU
- {5E6550EA-D878-455C-8EF7-5382661C1D52}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {5E6550EA-D878-455C-8EF7-5382661C1D52}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {5E6550EA-D878-455C-8EF7-5382661C1D52}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {5E6550EA-D878-455C-8EF7-5382661C1D52}.Release|Any CPU.Build.0 = Release|Any CPU
- {14CDCC5A-006A-41EC-8B48-F3EFAC842432}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {14CDCC5A-006A-41EC-8B48-F3EFAC842432}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {14CDCC5A-006A-41EC-8B48-F3EFAC842432}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {14CDCC5A-006A-41EC-8B48-F3EFAC842432}.Release|Any CPU.Build.0 = Release|Any CPU
- {11C6A285-8BC0-44C9-9FAB-F93462C75ABC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {11C6A285-8BC0-44C9-9FAB-F93462C75ABC}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {11C6A285-8BC0-44C9-9FAB-F93462C75ABC}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {11C6A285-8BC0-44C9-9FAB-F93462C75ABC}.Release|Any CPU.Build.0 = Release|Any CPU
- {C7EB7304-CADD-4F09-84AC-43123406B28F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C7EB7304-CADD-4F09-84AC-43123406B28F}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {C7EB7304-CADD-4F09-84AC-43123406B28F}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {C7EB7304-CADD-4F09-84AC-43123406B28F}.Release|Any CPU.Build.0 = Release|Any CPU
- {DE15C716-E1C3-4FC3-B976-7EA06EBF23F5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {DE15C716-E1C3-4FC3-B976-7EA06EBF23F5}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {DE15C716-E1C3-4FC3-B976-7EA06EBF23F5}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {DE15C716-E1C3-4FC3-B976-7EA06EBF23F5}.Release|Any CPU.Build.0 = Release|Any CPU
- {430D3AF9-DCCF-4B6F-BFAF-1ECC2F0594A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {430D3AF9-DCCF-4B6F-BFAF-1ECC2F0594A2}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {430D3AF9-DCCF-4B6F-BFAF-1ECC2F0594A2}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {430D3AF9-DCCF-4B6F-BFAF-1ECC2F0594A2}.Release|Any CPU.Build.0 = Release|Any CPU
- {CC104C76-0CC6-453E-A49D-C4995B6EB72B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {CC104C76-0CC6-453E-A49D-C4995B6EB72B}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {CC104C76-0CC6-453E-A49D-C4995B6EB72B}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {CC104C76-0CC6-453E-A49D-C4995B6EB72B}.Release|Any CPU.Build.0 = Release|Any CPU
- {13AF64F3-8962-4568-A0E1-833CCA1922D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {13AF64F3-8962-4568-A0E1-833CCA1922D5}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {13AF64F3-8962-4568-A0E1-833CCA1922D5}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {13AF64F3-8962-4568-A0E1-833CCA1922D5}.Release|Any CPU.Build.0 = Release|Any CPU
- {F9FADD90-8634-4B03-AC44-9F6C80B30E73}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {F9FADD90-8634-4B03-AC44-9F6C80B30E73}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {F9FADD90-8634-4B03-AC44-9F6C80B30E73}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {F9FADD90-8634-4B03-AC44-9F6C80B30E73}.Release|Any CPU.Build.0 = Release|Any CPU
- {8BC28722-20CC-41BD-B183-4E33E94CA2A7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {8BC28722-20CC-41BD-B183-4E33E94CA2A7}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {8BC28722-20CC-41BD-B183-4E33E94CA2A7}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {8BC28722-20CC-41BD-B183-4E33E94CA2A7}.Release|Any CPU.Build.0 = Release|Any CPU
- {6A398750-D7D8-43DC-8DF8-AA65C5766154}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {6A398750-D7D8-43DC-8DF8-AA65C5766154}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {6A398750-D7D8-43DC-8DF8-AA65C5766154}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {6A398750-D7D8-43DC-8DF8-AA65C5766154}.Release|Any CPU.Build.0 = Release|Any CPU
- {8D196E3D-6F95-4793-B948-79669AF09017}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {8D196E3D-6F95-4793-B948-79669AF09017}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {8D196E3D-6F95-4793-B948-79669AF09017}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {8D196E3D-6F95-4793-B948-79669AF09017}.Release|Any CPU.Build.0 = Release|Any CPU
- {FB20372D-6C96-4733-9AAC-12522F15CAA6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {FB20372D-6C96-4733-9AAC-12522F15CAA6}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {FB20372D-6C96-4733-9AAC-12522F15CAA6}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {FB20372D-6C96-4733-9AAC-12522F15CAA6}.Release|Any CPU.Build.0 = Release|Any CPU
- {FB1C29FF-5467-4CF0-995D-5B3F931AB135}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {FB1C29FF-5467-4CF0-995D-5B3F931AB135}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {FB1C29FF-5467-4CF0-995D-5B3F931AB135}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {FB1C29FF-5467-4CF0-995D-5B3F931AB135}.Release|Any CPU.Build.0 = Release|Any CPU
- {A091AE9B-3A1E-49AC-9AD5-D29310512A3D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {A091AE9B-3A1E-49AC-9AD5-D29310512A3D}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {A091AE9B-3A1E-49AC-9AD5-D29310512A3D}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {A091AE9B-3A1E-49AC-9AD5-D29310512A3D}.Release|Any CPU.Build.0 = Release|Any CPU
- {C018EFF9-579E-43B3-9181-543BE95E2E03}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C018EFF9-579E-43B3-9181-543BE95E2E03}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {C018EFF9-579E-43B3-9181-543BE95E2E03}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {C018EFF9-579E-43B3-9181-543BE95E2E03}.Release|Any CPU.Build.0 = Release|Any CPU
- {D9108313-8D05-4F5F-9AA0-B443EC3374B6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {D9108313-8D05-4F5F-9AA0-B443EC3374B6}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {D9108313-8D05-4F5F-9AA0-B443EC3374B6}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {D9108313-8D05-4F5F-9AA0-B443EC3374B6}.Release|Any CPU.Build.0 = Release|Any CPU
- {4C65690E-2C17-46A1-BB35-A51BAB2EA3B7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {4C65690E-2C17-46A1-BB35-A51BAB2EA3B7}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {4C65690E-2C17-46A1-BB35-A51BAB2EA3B7}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {4C65690E-2C17-46A1-BB35-A51BAB2EA3B7}.Release|Any CPU.Build.0 = Release|Any CPU
- {3C3FF821-E43D-4D58-8B3C-1E97F4518EF7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {3C3FF821-E43D-4D58-8B3C-1E97F4518EF7}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {3C3FF821-E43D-4D58-8B3C-1E97F4518EF7}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {3C3FF821-E43D-4D58-8B3C-1E97F4518EF7}.Release|Any CPU.Build.0 = Release|Any CPU
- {866B0894-2B50-484E-BE7E-F221956557F3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {866B0894-2B50-484E-BE7E-F221956557F3}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {866B0894-2B50-484E-BE7E-F221956557F3}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {866B0894-2B50-484E-BE7E-F221956557F3}.Release|Any CPU.Build.0 = Release|Any CPU
- {E7B2B79A-09D3-4B7D-83A1-F6DE57E8584B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {E7B2B79A-09D3-4B7D-83A1-F6DE57E8584B}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {E7B2B79A-09D3-4B7D-83A1-F6DE57E8584B}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {E7B2B79A-09D3-4B7D-83A1-F6DE57E8584B}.Release|Any CPU.Build.0 = Release|Any CPU
- {3B5E4384-9E08-46A6-B526-DF198823D7C8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {3B5E4384-9E08-46A6-B526-DF198823D7C8}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {3B5E4384-9E08-46A6-B526-DF198823D7C8}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {3B5E4384-9E08-46A6-B526-DF198823D7C8}.Release|Any CPU.Build.0 = Release|Any CPU
- {23BCC55E-3D30-4E4E-8489-15A5894EE480}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {23BCC55E-3D30-4E4E-8489-15A5894EE480}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {23BCC55E-3D30-4E4E-8489-15A5894EE480}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {23BCC55E-3D30-4E4E-8489-15A5894EE480}.Release|Any CPU.Build.0 = Release|Any CPU
- {81B29ECF-F004-4DC6-9126-2E45B02C2DFE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {81B29ECF-F004-4DC6-9126-2E45B02C2DFE}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {81B29ECF-F004-4DC6-9126-2E45B02C2DFE}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {81B29ECF-F004-4DC6-9126-2E45B02C2DFE}.Release|Any CPU.Build.0 = Release|Any CPU
- {65270240-0157-423A-9115-EAE2992E2FE7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {65270240-0157-423A-9115-EAE2992E2FE7}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {65270240-0157-423A-9115-EAE2992E2FE7}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {65270240-0157-423A-9115-EAE2992E2FE7}.Release|Any CPU.Build.0 = Release|Any CPU
- {72C8D8FA-9B61-415F-8FAF-08BC7BD13E9C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {72C8D8FA-9B61-415F-8FAF-08BC7BD13E9C}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {72C8D8FA-9B61-415F-8FAF-08BC7BD13E9C}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {72C8D8FA-9B61-415F-8FAF-08BC7BD13E9C}.Release|Any CPU.Build.0 = Release|Any CPU
- {E6D3F0F8-0683-4A00-8459-C9C4C65D825D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {E6D3F0F8-0683-4A00-8459-C9C4C65D825D}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {E6D3F0F8-0683-4A00-8459-C9C4C65D825D}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {E6D3F0F8-0683-4A00-8459-C9C4C65D825D}.Release|Any CPU.Build.0 = Release|Any CPU
- {C912E1E7-4F8F-4ADB-BB27-D40B1903FED0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C912E1E7-4F8F-4ADB-BB27-D40B1903FED0}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {C912E1E7-4F8F-4ADB-BB27-D40B1903FED0}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {C912E1E7-4F8F-4ADB-BB27-D40B1903FED0}.Release|Any CPU.Build.0 = Release|Any CPU
- {80E12564-E2B3-4307-B40E-20E24BF02916}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {80E12564-E2B3-4307-B40E-20E24BF02916}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {80E12564-E2B3-4307-B40E-20E24BF02916}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {80E12564-E2B3-4307-B40E-20E24BF02916}.Release|Any CPU.Build.0 = Release|Any CPU
- {9201AEE4-2E6D-4A48-805F-3F3C6878BC0B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {9201AEE4-2E6D-4A48-805F-3F3C6878BC0B}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {9201AEE4-2E6D-4A48-805F-3F3C6878BC0B}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {9201AEE4-2E6D-4A48-805F-3F3C6878BC0B}.Release|Any CPU.Build.0 = Release|Any CPU
- {78589964-923E-4803-9B74-183487C3ED0F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {78589964-923E-4803-9B74-183487C3ED0F}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {78589964-923E-4803-9B74-183487C3ED0F}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {78589964-923E-4803-9B74-183487C3ED0F}.Release|Any CPU.Build.0 = Release|Any CPU
- {831CD22A-AC6E-4515-AB24-8C96B34C717F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {831CD22A-AC6E-4515-AB24-8C96B34C717F}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {831CD22A-AC6E-4515-AB24-8C96B34C717F}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {831CD22A-AC6E-4515-AB24-8C96B34C717F}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(NestedProjects) = preSolution
- {554AD327-6DBA-4F8F-96F8-81CE7A0C863F} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
- {1A94A50E-06DC-43C1-80B5-B662820EC3EB} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
- {C956DD76-69C8-4A9C-83EA-D17DF83340FD} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
- {CA9AC87F-097E-4F15-8393-4BC07735A5B0} = {2C861ADD-76E9-4B3B-8A3C-638EBB67D683}
- {04DBDB01-70F4-4E06-B468-8F87850B22BE} = {2C861ADD-76E9-4B3B-8A3C-638EBB67D683}
- {50B2631D-129C-47B3-A587-029CCD6099BC} = {04DBDB01-70F4-4E06-B468-8F87850B22BE}
- {42F719ED-8413-4895-B5B4-5AB56079BC66} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
- {520659C8-C734-4298-A3DA-B539DB9DFC0B} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
- {4164BDF7-F527-4E85-9CE6-E3C2D7426A27} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
- {3B5A0094-670D-4BB1-BFDD-61B88A8773DC} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
- {1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81} = {04DBDB01-70F4-4E06-B468-8F87850B22BE}
- {91853F21-9CD9-4132-BC29-A7D5D84FFFE7} = {04DBDB01-70F4-4E06-B468-8F87850B22BE}
- {E512F4D9-9375-480F-A2F6-A46509F9D824} = {04DBDB01-70F4-4E06-B468-8F87850B22BE}
- {EF480016-9127-4916-8735-D2466BDBC582} = {04DBDB01-70F4-4E06-B468-8F87850B22BE}
- {AA94D832-1CCC-4715-95A9-A483F23A1A5D} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
- {9F5676A3-00DC-48B7-93D1-341C39E19BB9} = {CC2EBB07-A070-4158-AB37-A0C0BBAEA9F5}
- {C4AC9352-C9F5-4096-8D73-13638232CFB9} = {9F5676A3-00DC-48B7-93D1-341C39E19BB9}
- {EB2B8705-18E7-49E1-A565-93A6DE5570D5} = {F8A8EB2A-2D4B-464F-9A13-F8F7B6A8FAA3}
- {E28AECBD-2904-477C-9817-C67312330A41} = {EB2B8705-18E7-49E1-A565-93A6DE5570D5}
- {120FE15B-3E5C-4BFF-B874-F09235C9E1ED} = {EB2B8705-18E7-49E1-A565-93A6DE5570D5}
- {3E69D96A-F923-4AC4-8430-9AAB84B6A3FE} = {E28AECBD-2904-477C-9817-C67312330A41}
- {F475DD35-9F27-43FF-9D96-365661ADC3C6} = {E28AECBD-2904-477C-9817-C67312330A41}
- {34B5BCF2-95C0-4136-AC9E-FC80D8ACBD1C} = {E28AECBD-2904-477C-9817-C67312330A41}
- {4ADEEE7D-7886-4F85-BAA2-CCEE6E30EBFD} = {E28AECBD-2904-477C-9817-C67312330A41}
- {10DF0925-A1EE-4B1C-AAF6-249C6D02424C} = {E28AECBD-2904-477C-9817-C67312330A41}
- {0880AA9C-0E45-43B3-B02A-093736CDD961} = {E28AECBD-2904-477C-9817-C67312330A41}
- {B3554E2E-7150-482F-A08F-DCB8BD166FED} = {E28AECBD-2904-477C-9817-C67312330A41}
- {22A3A359-C6F4-4540-A61F-C8E94A73C95E} = {120FE15B-3E5C-4BFF-B874-F09235C9E1ED}
- {FCE5BD62-F7C7-45EA-80DE-B4880C4A84C6} = {120FE15B-3E5C-4BFF-B874-F09235C9E1ED}
- {19A921F2-1587-4E94-A023-B81956874DAB} = {120FE15B-3E5C-4BFF-B874-F09235C9E1ED}
- {91A3257D-0D1A-479D-8F3C-DBB1944802FE} = {120FE15B-3E5C-4BFF-B874-F09235C9E1ED}
- {9C53260A-6F4B-4106-98B0-EDCC10BB3E1A} = {F8A8EB2A-2D4B-464F-9A13-F8F7B6A8FAA3}
- {D1CFD035-1562-42CF-A96A-0E2EA8D92E80} = {9C53260A-6F4B-4106-98B0-EDCC10BB3E1A}
- {E76E35FC-B62E-48D5-A7AF-79375CFD20BD} = {9C53260A-6F4B-4106-98B0-EDCC10BB3E1A}
- {5E6550EA-D878-455C-8EF7-5382661C1D52} = {D1CFD035-1562-42CF-A96A-0E2EA8D92E80}
- {14CDCC5A-006A-41EC-8B48-F3EFAC842432} = {D1CFD035-1562-42CF-A96A-0E2EA8D92E80}
- {11C6A285-8BC0-44C9-9FAB-F93462C75ABC} = {D1CFD035-1562-42CF-A96A-0E2EA8D92E80}
- {C7EB7304-CADD-4F09-84AC-43123406B28F} = {D1CFD035-1562-42CF-A96A-0E2EA8D92E80}
- {DE15C716-E1C3-4FC3-B976-7EA06EBF23F5} = {D1CFD035-1562-42CF-A96A-0E2EA8D92E80}
- {430D3AF9-DCCF-4B6F-BFAF-1ECC2F0594A2} = {D1CFD035-1562-42CF-A96A-0E2EA8D92E80}
- {CC104C76-0CC6-453E-A49D-C4995B6EB72B} = {D1CFD035-1562-42CF-A96A-0E2EA8D92E80}
- {13AF64F3-8962-4568-A0E1-833CCA1922D5} = {E76E35FC-B62E-48D5-A7AF-79375CFD20BD}
- {F9FADD90-8634-4B03-AC44-9F6C80B30E73} = {E76E35FC-B62E-48D5-A7AF-79375CFD20BD}
- {8BC28722-20CC-41BD-B183-4E33E94CA2A7} = {E76E35FC-B62E-48D5-A7AF-79375CFD20BD}
- {6A398750-D7D8-43DC-8DF8-AA65C5766154} = {E76E35FC-B62E-48D5-A7AF-79375CFD20BD}
- {5AACD0EE-F2B2-49F6-868F-8FE08D7243C0} = {9C53260A-6F4B-4106-98B0-EDCC10BB3E1A}
- {8D196E3D-6F95-4793-B948-79669AF09017} = {5AACD0EE-F2B2-49F6-868F-8FE08D7243C0}
- {8C1B8C6C-C518-4290-B070-622CCA6004DA} = {2C861ADD-76E9-4B3B-8A3C-638EBB67D683}
- {2C09EED0-5AF6-4F1E-B05A-FB3272EDF6E8} = {CC2EBB07-A070-4158-AB37-A0C0BBAEA9F5}
- {11ED8435-B5AE-4BF3-9D4B-51FA1E4A18A6} = {2C09EED0-5AF6-4F1E-B05A-FB3272EDF6E8}
- {FB20372D-6C96-4733-9AAC-12522F15CAA6} = {8C1B8C6C-C518-4290-B070-622CCA6004DA}
- {FB1C29FF-5467-4CF0-995D-5B3F931AB135} = {8C1B8C6C-C518-4290-B070-622CCA6004DA}
- {A091AE9B-3A1E-49AC-9AD5-D29310512A3D} = {6434E3F2-B352-4B30-839A-88C2BA166D96}
- {C018EFF9-579E-43B3-9181-543BE95E2E03} = {6434E3F2-B352-4B30-839A-88C2BA166D96}
- {D9108313-8D05-4F5F-9AA0-B443EC3374B6} = {5C304CBC-F30D-413C-A0AF-8B6814A2D4A3}
- {4C65690E-2C17-46A1-BB35-A51BAB2EA3B7} = {C4AC9352-C9F5-4096-8D73-13638232CFB9}
- {3C3FF821-E43D-4D58-8B3C-1E97F4518EF7} = {11ED8435-B5AE-4BF3-9D4B-51FA1E4A18A6}
- {F604F9BE-CAAB-4D94-8989-22DE4D966C7A} = {F8A8EB2A-2D4B-464F-9A13-F8F7B6A8FAA3}
- {C188A1F4-9601-42E5-9A0A-B282E13EAC41} = {F604F9BE-CAAB-4D94-8989-22DE4D966C7A}
- {2CC8E555-AA80-4D7A-B606-0821E6754187} = {F604F9BE-CAAB-4D94-8989-22DE4D966C7A}
- {40BF21CB-4520-45A6-A588-5FFB95BAC87C} = {F604F9BE-CAAB-4D94-8989-22DE4D966C7A}
- {866B0894-2B50-484E-BE7E-F221956557F3} = {2CC8E555-AA80-4D7A-B606-0821E6754187}
- {E7B2B79A-09D3-4B7D-83A1-F6DE57E8584B} = {2CC8E555-AA80-4D7A-B606-0821E6754187}
- {3B5E4384-9E08-46A6-B526-DF198823D7C8} = {2CC8E555-AA80-4D7A-B606-0821E6754187}
- {23BCC55E-3D30-4E4E-8489-15A5894EE480} = {2CC8E555-AA80-4D7A-B606-0821E6754187}
- {81B29ECF-F004-4DC6-9126-2E45B02C2DFE} = {2CC8E555-AA80-4D7A-B606-0821E6754187}
- {65270240-0157-423A-9115-EAE2992E2FE7} = {2CC8E555-AA80-4D7A-B606-0821E6754187}
- {72C8D8FA-9B61-415F-8FAF-08BC7BD13E9C} = {2CC8E555-AA80-4D7A-B606-0821E6754187}
- {E6D3F0F8-0683-4A00-8459-C9C4C65D825D} = {40BF21CB-4520-45A6-A588-5FFB95BAC87C}
- {C912E1E7-4F8F-4ADB-BB27-D40B1903FED0} = {40BF21CB-4520-45A6-A588-5FFB95BAC87C}
- {80E12564-E2B3-4307-B40E-20E24BF02916} = {40BF21CB-4520-45A6-A588-5FFB95BAC87C}
- {9201AEE4-2E6D-4A48-805F-3F3C6878BC0B} = {40BF21CB-4520-45A6-A588-5FFB95BAC87C}
- {78589964-923E-4803-9B74-183487C3ED0F} = {40BF21CB-4520-45A6-A588-5FFB95BAC87C}
- {831CD22A-AC6E-4515-AB24-8C96B34C717F} = {C188A1F4-9601-42E5-9A0A-B282E13EAC41}
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {28315BFD-90E7-4E14-A2EA-F3D23AF4126F}
- EndGlobalSection
-EndGlobal
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.0.31410.414
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.Domain", "services\src\Lion.AbpPro.Domain\Lion.AbpPro.Domain.csproj", "{554AD327-6DBA-4F8F-96F8-81CE7A0C863F}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.Application", "services\src\Lion.AbpPro.Application\Lion.AbpPro.Application.csproj", "{1A94A50E-06DC-43C1-80B5-B662820EC3EB}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.EntityFrameworkCore", "services\src\Lion.AbpPro.EntityFrameworkCore\Lion.AbpPro.EntityFrameworkCore.csproj", "{C956DD76-69C8-4A9C-83EA-D17DF83340FD}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{CA9AC87F-097E-4F15-8393-4BC07735A5B0}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{04DBDB01-70F4-4E06-B468-8F87850B22BE}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.Application.Tests", "services\test\Lion.AbpPro.Application.Tests\Lion.AbpPro.Application.Tests.csproj", "{50B2631D-129C-47B3-A587-029CCD6099BC}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.Domain.Shared", "services\src\Lion.AbpPro.Domain.Shared\Lion.AbpPro.Domain.Shared.csproj", "{42F719ED-8413-4895-B5B4-5AB56079BC66}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.Application.Contracts", "services\src\Lion.AbpPro.Application.Contracts\Lion.AbpPro.Application.Contracts.csproj", "{520659C8-C734-4298-A3DA-B539DB9DFC0B}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.HttpApi", "services\src\Lion.AbpPro.HttpApi\Lion.AbpPro.HttpApi.csproj", "{4164BDF7-F527-4E85-9CE6-E3C2D7426A27}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.HttpApi.Client", "services\src\Lion.AbpPro.HttpApi.Client\Lion.AbpPro.HttpApi.Client.csproj", "{3B5A0094-670D-4BB1-BFDD-61B88A8773DC}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.EntityFrameworkCore.Tests", "services\test\Lion.AbpPro.EntityFrameworkCore.Tests\Lion.AbpPro.EntityFrameworkCore.Tests.csproj", "{1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.TestBase", "services\test\Lion.AbpPro.TestBase\Lion.AbpPro.TestBase.csproj", "{91853F21-9CD9-4132-BC29-A7D5D84FFFE7}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.Domain.Tests", "services\test\Lion.AbpPro.Domain.Tests\Lion.AbpPro.Domain.Tests.csproj", "{E512F4D9-9375-480F-A2F6-A46509F9D824}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.HttpApi.Client.ConsoleTestApp", "services\test\Lion.AbpPro.HttpApi.Client.ConsoleTestApp\Lion.AbpPro.HttpApi.Client.ConsoleTestApp.csproj", "{EF480016-9127-4916-8735-D2466BDBC582}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.DbMigrator", "services\src\Lion.AbpPro.DbMigrator\Lion.AbpPro.DbMigrator.csproj", "{AA94D832-1CCC-4715-95A9-A483F23A1A5D}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "services", "services", "{2C861ADD-76E9-4B3B-8A3C-638EBB67D683}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "0.Solution Items", "0.Solution Items", "{2C4A6DB8-8D9E-42E6-B7C3-1EDB7B3DE22E}"
+ ProjectSection(SolutionItems) = preProject
+ common.props = common.props
+ Directory.Build.props = Directory.Build.props
+ global.json = global.json
+ NuGet.Config = NuGet.Config
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "modules", "modules", "{F8A8EB2A-2D4B-464F-9A13-F8F7B6A8FAA3}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "frameworks", "frameworks", "{CC2EBB07-A070-4158-AB37-A0C0BBAEA9F5}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Extensions", "Extensions", "{9F5676A3-00DC-48B7-93D1-341C39E19BB9}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{C4AC9352-C9F5-4096-8D73-13638232CFB9}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NotificationManagement", "NotificationManagement", "{EB2B8705-18E7-49E1-A565-93A6DE5570D5}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{E28AECBD-2904-477C-9817-C67312330A41}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{120FE15B-3E5C-4BFF-B874-F09235C9E1ED}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.NotificationManagement.Domain.Shared", "modules\NotificationManagement\src\Lion.AbpPro.NotificationManagement.Domain.Shared\Lion.AbpPro.NotificationManagement.Domain.Shared.csproj", "{3E69D96A-F923-4AC4-8430-9AAB84B6A3FE}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.NotificationManagement.Domain", "modules\NotificationManagement\src\Lion.AbpPro.NotificationManagement.Domain\Lion.AbpPro.NotificationManagement.Domain.csproj", "{F475DD35-9F27-43FF-9D96-365661ADC3C6}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.NotificationManagement.Application.Contracts", "modules\NotificationManagement\src\Lion.AbpPro.NotificationManagement.Application.Contracts\Lion.AbpPro.NotificationManagement.Application.Contracts.csproj", "{34B5BCF2-95C0-4136-AC9E-FC80D8ACBD1C}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.NotificationManagement.Application", "modules\NotificationManagement\src\Lion.AbpPro.NotificationManagement.Application\Lion.AbpPro.NotificationManagement.Application.csproj", "{4ADEEE7D-7886-4F85-BAA2-CCEE6E30EBFD}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.NotificationManagement.EntityFrameworkCore", "modules\NotificationManagement\src\Lion.AbpPro.NotificationManagement.EntityFrameworkCore\Lion.AbpPro.NotificationManagement.EntityFrameworkCore.csproj", "{10DF0925-A1EE-4B1C-AAF6-249C6D02424C}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.NotificationManagement.HttpApi", "modules\NotificationManagement\src\Lion.AbpPro.NotificationManagement.HttpApi\Lion.AbpPro.NotificationManagement.HttpApi.csproj", "{0880AA9C-0E45-43B3-B02A-093736CDD961}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.NotificationManagement.HttpApi.Client", "modules\NotificationManagement\src\Lion.AbpPro.NotificationManagement.HttpApi.Client\Lion.AbpPro.NotificationManagement.HttpApi.Client.csproj", "{B3554E2E-7150-482F-A08F-DCB8BD166FED}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.NotificationManagement.Application.Tests", "modules\NotificationManagement\test\Lion.AbpPro.NotificationManagement.Application.Tests\Lion.AbpPro.NotificationManagement.Application.Tests.csproj", "{22A3A359-C6F4-4540-A61F-C8E94A73C95E}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.NotificationManagement.Domain.Tests", "modules\NotificationManagement\test\Lion.AbpPro.NotificationManagement.Domain.Tests\Lion.AbpPro.NotificationManagement.Domain.Tests.csproj", "{FCE5BD62-F7C7-45EA-80DE-B4880C4A84C6}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.NotificationManagement.EntityFrameworkCore.Tests", "modules\NotificationManagement\test\Lion.AbpPro.NotificationManagement.EntityFrameworkCore.Tests\Lion.AbpPro.NotificationManagement.EntityFrameworkCore.Tests.csproj", "{19A921F2-1587-4E94-A023-B81956874DAB}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.NotificationManagement.TestBase", "modules\NotificationManagement\test\Lion.AbpPro.NotificationManagement.TestBase\Lion.AbpPro.NotificationManagement.TestBase.csproj", "{91A3257D-0D1A-479D-8F3C-DBB1944802FE}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "DataDictionaryManagement", "DataDictionaryManagement", "{9C53260A-6F4B-4106-98B0-EDCC10BB3E1A}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{D1CFD035-1562-42CF-A96A-0E2EA8D92E80}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{E76E35FC-B62E-48D5-A7AF-79375CFD20BD}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.DataDictionaryManagement.Application", "modules\DataDictionaryManagement\src\Lion.AbpPro.DataDictionaryManagement.Application\Lion.AbpPro.DataDictionaryManagement.Application.csproj", "{5E6550EA-D878-455C-8EF7-5382661C1D52}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.DataDictionaryManagement.Application.Contracts", "modules\DataDictionaryManagement\src\Lion.AbpPro.DataDictionaryManagement.Application.Contracts\Lion.AbpPro.DataDictionaryManagement.Application.Contracts.csproj", "{14CDCC5A-006A-41EC-8B48-F3EFAC842432}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.DataDictionaryManagement.Domain", "modules\DataDictionaryManagement\src\Lion.AbpPro.DataDictionaryManagement.Domain\Lion.AbpPro.DataDictionaryManagement.Domain.csproj", "{11C6A285-8BC0-44C9-9FAB-F93462C75ABC}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.DataDictionaryManagement.Domain.Shared", "modules\DataDictionaryManagement\src\Lion.AbpPro.DataDictionaryManagement.Domain.Shared\Lion.AbpPro.DataDictionaryManagement.Domain.Shared.csproj", "{C7EB7304-CADD-4F09-84AC-43123406B28F}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.DataDictionaryManagement.EntityFrameworkCore", "modules\DataDictionaryManagement\src\Lion.AbpPro.DataDictionaryManagement.EntityFrameworkCore\Lion.AbpPro.DataDictionaryManagement.EntityFrameworkCore.csproj", "{DE15C716-E1C3-4FC3-B976-7EA06EBF23F5}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.DataDictionaryManagement.HttpApi", "modules\DataDictionaryManagement\src\Lion.AbpPro.DataDictionaryManagement.HttpApi\Lion.AbpPro.DataDictionaryManagement.HttpApi.csproj", "{430D3AF9-DCCF-4B6F-BFAF-1ECC2F0594A2}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.DataDictionaryManagement.HttpApi.Client", "modules\DataDictionaryManagement\src\Lion.AbpPro.DataDictionaryManagement.HttpApi.Client\Lion.AbpPro.DataDictionaryManagement.HttpApi.Client.csproj", "{CC104C76-0CC6-453E-A49D-C4995B6EB72B}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.DataDictionaryManagement.Application.Tests", "modules\DataDictionaryManagement\test\Lion.AbpPro.DataDictionaryManagement.Application.Tests\Lion.AbpPro.DataDictionaryManagement.Application.Tests.csproj", "{13AF64F3-8962-4568-A0E1-833CCA1922D5}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.DataDictionaryManagement.Domain.Tests", "modules\DataDictionaryManagement\test\Lion.AbpPro.DataDictionaryManagement.Domain.Tests\Lion.AbpPro.DataDictionaryManagement.Domain.Tests.csproj", "{F9FADD90-8634-4B03-AC44-9F6C80B30E73}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.DataDictionaryManagement.EntityFrameworkCore.Tests", "modules\DataDictionaryManagement\test\Lion.AbpPro.DataDictionaryManagement.EntityFrameworkCore.Tests\Lion.AbpPro.DataDictionaryManagement.EntityFrameworkCore.Tests.csproj", "{8BC28722-20CC-41BD-B183-4E33E94CA2A7}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.DataDictionaryManagement.TestBase", "modules\DataDictionaryManagement\test\Lion.AbpPro.DataDictionaryManagement.TestBase\Lion.AbpPro.DataDictionaryManagement.TestBase.csproj", "{6A398750-D7D8-43DC-8DF8-AA65C5766154}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "host", "host", "{5AACD0EE-F2B2-49F6-868F-8FE08D7243C0}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.DataDictionaryManagement.HttpApi.Host", "modules\DataDictionaryManagement\host\Lion.AbpPro.DataDictionaryManagement.HttpApi.Host\Lion.AbpPro.DataDictionaryManagement.HttpApi.Host.csproj", "{8D196E3D-6F95-4793-B948-79669AF09017}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "host", "host", "{8C1B8C6C-C518-4290-B070-622CCA6004DA}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "CAP", "CAP", "{2C09EED0-5AF6-4F1E-B05A-FB3272EDF6E8}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{11ED8435-B5AE-4BF3-9D4B-51FA1E4A18A6}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.HttpApi.Host", "services\host\Lion.AbpPro.HttpApi.Host\Lion.AbpPro.HttpApi.Host.csproj", "{FB20372D-6C96-4733-9AAC-12522F15CAA6}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.IdentityServer", "services\host\Lion.AbpPro.IdentityServer\Lion.AbpPro.IdentityServer.csproj", "{FB1C29FF-5467-4CF0-995D-5B3F931AB135}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "shared", "shared", "{6434E3F2-B352-4B30-839A-88C2BA166D96}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.Shared.Hosting.Microservices", "shared\Lion.AbpPro.Shared.Hosting.Microservices\Lion.AbpPro.Shared.Hosting.Microservices.csproj", "{A091AE9B-3A1E-49AC-9AD5-D29310512A3D}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.Shared.Hosting.Gateways", "shared\Lion.AbpPro.Shared.Hosting.Gateways\Lion.AbpPro.Shared.Hosting.Gateways.csproj", "{C018EFF9-579E-43B3-9181-543BE95E2E03}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "gateways", "gateways", "{5C304CBC-F30D-413C-A0AF-8B6814A2D4A3}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.WebGateway", "gateways\Lion.AbpPro.WebGateway\Lion.AbpPro.WebGateway.csproj", "{D9108313-8D05-4F5F-9AA0-B443EC3374B6}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.Extension", "frameworks\Extensions\src\Lion.AbpPro.Extension\Lion.AbpPro.Extension.csproj", "{4C65690E-2C17-46A1-BB35-A51BAB2EA3B7}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.CAP", "frameworks\CAP\src\Lion.AbpPro.CAP\Lion.AbpPro.CAP.csproj", "{3C3FF821-E43D-4D58-8B3C-1E97F4518EF7}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "FileManagement", "FileManagement", "{F604F9BE-CAAB-4D94-8989-22DE4D966C7A}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "host", "host", "{C188A1F4-9601-42E5-9A0A-B282E13EAC41}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{2CC8E555-AA80-4D7A-B606-0821E6754187}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{40BF21CB-4520-45A6-A588-5FFB95BAC87C}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.FileManagement.Domain.Shared", "modules\FileManagement\src\Lion.AbpPro.FileManagement.Domain.Shared\Lion.AbpPro.FileManagement.Domain.Shared.csproj", "{866B0894-2B50-484E-BE7E-F221956557F3}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.FileManagement.Application", "modules\FileManagement\src\Lion.AbpPro.FileManagement.Application\Lion.AbpPro.FileManagement.Application.csproj", "{E7B2B79A-09D3-4B7D-83A1-F6DE57E8584B}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.FileManagement.Application.Contracts", "modules\FileManagement\src\Lion.AbpPro.FileManagement.Application.Contracts\Lion.AbpPro.FileManagement.Application.Contracts.csproj", "{3B5E4384-9E08-46A6-B526-DF198823D7C8}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.FileManagement.Domain", "modules\FileManagement\src\Lion.AbpPro.FileManagement.Domain\Lion.AbpPro.FileManagement.Domain.csproj", "{23BCC55E-3D30-4E4E-8489-15A5894EE480}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.FileManagement.EntityFrameworkCore", "modules\FileManagement\src\Lion.AbpPro.FileManagement.EntityFrameworkCore\Lion.AbpPro.FileManagement.EntityFrameworkCore.csproj", "{81B29ECF-F004-4DC6-9126-2E45B02C2DFE}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.FileManagement.HttpApi", "modules\FileManagement\src\Lion.AbpPro.FileManagement.HttpApi\Lion.AbpPro.FileManagement.HttpApi.csproj", "{65270240-0157-423A-9115-EAE2992E2FE7}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.FileManagement.HttpApi.Client", "modules\FileManagement\src\Lion.AbpPro.FileManagement.HttpApi.Client\Lion.AbpPro.FileManagement.HttpApi.Client.csproj", "{72C8D8FA-9B61-415F-8FAF-08BC7BD13E9C}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.FileManagement.Application.Tests", "modules\FileManagement\test\Lion.AbpPro.FileManagement.Application.Tests\Lion.AbpPro.FileManagement.Application.Tests.csproj", "{E6D3F0F8-0683-4A00-8459-C9C4C65D825D}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.FileManagement.Domain.Tests", "modules\FileManagement\test\Lion.AbpPro.FileManagement.Domain.Tests\Lion.AbpPro.FileManagement.Domain.Tests.csproj", "{C912E1E7-4F8F-4ADB-BB27-D40B1903FED0}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.FileManagement.EntityFrameworkCore.Tests", "modules\FileManagement\test\Lion.AbpPro.FileManagement.EntityFrameworkCore.Tests\Lion.AbpPro.FileManagement.EntityFrameworkCore.Tests.csproj", "{80E12564-E2B3-4307-B40E-20E24BF02916}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.FileManagement.HttpApi.Client.ConsoleTestApp", "modules\FileManagement\test\Lion.AbpPro.FileManagement.HttpApi.Client.ConsoleTestApp\Lion.AbpPro.FileManagement.HttpApi.Client.ConsoleTestApp.csproj", "{9201AEE4-2E6D-4A48-805F-3F3C6878BC0B}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.FileManagement.TestBase", "modules\FileManagement\test\Lion.AbpPro.FileManagement.TestBase\Lion.AbpPro.FileManagement.TestBase.csproj", "{78589964-923E-4803-9B74-183487C3ED0F}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.FileManagement.HttpApi.Host", "modules\FileManagement\host\Lion.AbpPro.FileManagement.HttpApi.Host\Lion.AbpPro.FileManagement.HttpApi.Host.csproj", "{831CD22A-AC6E-4515-AB24-8C96B34C717F}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AuditLoggingManagement", "AuditLoggingManagement", "{5D994A2D-4ABB-47B7-B1CB-474E6B6C5437}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "host", "host", "{1C6F6BDF-F309-49F5-80F9-152CB1F883AB}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{03DAEDDF-7E80-41AD-883B-FEB89992F18B}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{61DF4305-D331-40A8-9F71-792D9793AF9F}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.AuditLoggingManagement.HttpApi.Host", "modules\AuditLoggingManagement\host\Lion.AbpPro.AuditLoggingManagement.HttpApi.Host\Lion.AbpPro.AuditLoggingManagement.HttpApi.Host.csproj", "{56AF025A-9F18-4097-9B5A-855C56E9AA04}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.AuditLoggingManagement.Application", "modules\AuditLoggingManagement\src\Lion.AbpPro.AuditLoggingManagement.Application\Lion.AbpPro.AuditLoggingManagement.Application.csproj", "{A49FCA2B-998A-4A4A-9ADE-523AB083CFBA}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.AuditLoggingManagement.Application.Contracts", "modules\AuditLoggingManagement\src\Lion.AbpPro.AuditLoggingManagement.Application.Contracts\Lion.AbpPro.AuditLoggingManagement.Application.Contracts.csproj", "{5BBF431C-8617-47A6-B10A-AE5665BF1E1F}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.AuditLoggingManagement.Domain.Shared", "modules\AuditLoggingManagement\src\Lion.AbpPro.AuditLoggingManagement.Domain.Shared\Lion.AbpPro.AuditLoggingManagement.Domain.Shared.csproj", "{994971ED-A7E5-438E-AAE3-C4F61111BFB4}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.AuditLoggingManagement.HttpApi", "modules\AuditLoggingManagement\src\Lion.AbpPro.AuditLoggingManagement.HttpApi\Lion.AbpPro.AuditLoggingManagement.HttpApi.csproj", "{63B86B76-F3ED-40E2-8F72-808B4A5FB1DE}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.AuditLoggingManagement.HttpApi.Client", "modules\AuditLoggingManagement\src\Lion.AbpPro.AuditLoggingManagement.HttpApi.Client\Lion.AbpPro.AuditLoggingManagement.HttpApi.Client.csproj", "{C28EEDC0-6D83-4D7C-AED3-F6F49AEA5E02}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.AuditLoggingManagement.Application.Tests", "modules\AuditLoggingManagement\test\Lion.AbpPro.AuditLoggingManagement.Application.Tests\Lion.AbpPro.AuditLoggingManagement.Application.Tests.csproj", "{DDC5801F-8E0D-4290-9585-EF60C7FC98E5}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lion.AbpPro.AuditLoggingManagement.TestBase", "modules\AuditLoggingManagement\test\Lion.AbpPro.AuditLoggingManagement.TestBase\Lion.AbpPro.AuditLoggingManagement.TestBase.csproj", "{97ACF365-2693-4352-8EDD-EE26995D3215}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {554AD327-6DBA-4F8F-96F8-81CE7A0C863F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {554AD327-6DBA-4F8F-96F8-81CE7A0C863F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {554AD327-6DBA-4F8F-96F8-81CE7A0C863F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {554AD327-6DBA-4F8F-96F8-81CE7A0C863F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1A94A50E-06DC-43C1-80B5-B662820EC3EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1A94A50E-06DC-43C1-80B5-B662820EC3EB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1A94A50E-06DC-43C1-80B5-B662820EC3EB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1A94A50E-06DC-43C1-80B5-B662820EC3EB}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C956DD76-69C8-4A9C-83EA-D17DF83340FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C956DD76-69C8-4A9C-83EA-D17DF83340FD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C956DD76-69C8-4A9C-83EA-D17DF83340FD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C956DD76-69C8-4A9C-83EA-D17DF83340FD}.Release|Any CPU.Build.0 = Release|Any CPU
+ {50B2631D-129C-47B3-A587-029CCD6099BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {50B2631D-129C-47B3-A587-029CCD6099BC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {50B2631D-129C-47B3-A587-029CCD6099BC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {50B2631D-129C-47B3-A587-029CCD6099BC}.Release|Any CPU.Build.0 = Release|Any CPU
+ {42F719ED-8413-4895-B5B4-5AB56079BC66}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {42F719ED-8413-4895-B5B4-5AB56079BC66}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {42F719ED-8413-4895-B5B4-5AB56079BC66}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {42F719ED-8413-4895-B5B4-5AB56079BC66}.Release|Any CPU.Build.0 = Release|Any CPU
+ {520659C8-C734-4298-A3DA-B539DB9DFC0B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {520659C8-C734-4298-A3DA-B539DB9DFC0B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {520659C8-C734-4298-A3DA-B539DB9DFC0B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {520659C8-C734-4298-A3DA-B539DB9DFC0B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {4164BDF7-F527-4E85-9CE6-E3C2D7426A27}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {4164BDF7-F527-4E85-9CE6-E3C2D7426A27}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {4164BDF7-F527-4E85-9CE6-E3C2D7426A27}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {4164BDF7-F527-4E85-9CE6-E3C2D7426A27}.Release|Any CPU.Build.0 = Release|Any CPU
+ {3B5A0094-670D-4BB1-BFDD-61B88A8773DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {3B5A0094-670D-4BB1-BFDD-61B88A8773DC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {3B5A0094-670D-4BB1-BFDD-61B88A8773DC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {3B5A0094-670D-4BB1-BFDD-61B88A8773DC}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81}.Release|Any CPU.Build.0 = Release|Any CPU
+ {91853F21-9CD9-4132-BC29-A7D5D84FFFE7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {91853F21-9CD9-4132-BC29-A7D5D84FFFE7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {91853F21-9CD9-4132-BC29-A7D5D84FFFE7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {91853F21-9CD9-4132-BC29-A7D5D84FFFE7}.Release|Any CPU.Build.0 = Release|Any CPU
+ {E512F4D9-9375-480F-A2F6-A46509F9D824}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E512F4D9-9375-480F-A2F6-A46509F9D824}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {E512F4D9-9375-480F-A2F6-A46509F9D824}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {E512F4D9-9375-480F-A2F6-A46509F9D824}.Release|Any CPU.Build.0 = Release|Any CPU
+ {EF480016-9127-4916-8735-D2466BDBC582}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {EF480016-9127-4916-8735-D2466BDBC582}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {EF480016-9127-4916-8735-D2466BDBC582}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {EF480016-9127-4916-8735-D2466BDBC582}.Release|Any CPU.Build.0 = Release|Any CPU
+ {AA94D832-1CCC-4715-95A9-A483F23A1A5D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {AA94D832-1CCC-4715-95A9-A483F23A1A5D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {AA94D832-1CCC-4715-95A9-A483F23A1A5D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {AA94D832-1CCC-4715-95A9-A483F23A1A5D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {3E69D96A-F923-4AC4-8430-9AAB84B6A3FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {3E69D96A-F923-4AC4-8430-9AAB84B6A3FE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {3E69D96A-F923-4AC4-8430-9AAB84B6A3FE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {3E69D96A-F923-4AC4-8430-9AAB84B6A3FE}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F475DD35-9F27-43FF-9D96-365661ADC3C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F475DD35-9F27-43FF-9D96-365661ADC3C6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F475DD35-9F27-43FF-9D96-365661ADC3C6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F475DD35-9F27-43FF-9D96-365661ADC3C6}.Release|Any CPU.Build.0 = Release|Any CPU
+ {34B5BCF2-95C0-4136-AC9E-FC80D8ACBD1C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {34B5BCF2-95C0-4136-AC9E-FC80D8ACBD1C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {34B5BCF2-95C0-4136-AC9E-FC80D8ACBD1C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {34B5BCF2-95C0-4136-AC9E-FC80D8ACBD1C}.Release|Any CPU.Build.0 = Release|Any CPU
+ {4ADEEE7D-7886-4F85-BAA2-CCEE6E30EBFD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {4ADEEE7D-7886-4F85-BAA2-CCEE6E30EBFD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {4ADEEE7D-7886-4F85-BAA2-CCEE6E30EBFD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {4ADEEE7D-7886-4F85-BAA2-CCEE6E30EBFD}.Release|Any CPU.Build.0 = Release|Any CPU
+ {10DF0925-A1EE-4B1C-AAF6-249C6D02424C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {10DF0925-A1EE-4B1C-AAF6-249C6D02424C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {10DF0925-A1EE-4B1C-AAF6-249C6D02424C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {10DF0925-A1EE-4B1C-AAF6-249C6D02424C}.Release|Any CPU.Build.0 = Release|Any CPU
+ {0880AA9C-0E45-43B3-B02A-093736CDD961}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0880AA9C-0E45-43B3-B02A-093736CDD961}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0880AA9C-0E45-43B3-B02A-093736CDD961}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0880AA9C-0E45-43B3-B02A-093736CDD961}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B3554E2E-7150-482F-A08F-DCB8BD166FED}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B3554E2E-7150-482F-A08F-DCB8BD166FED}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B3554E2E-7150-482F-A08F-DCB8BD166FED}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B3554E2E-7150-482F-A08F-DCB8BD166FED}.Release|Any CPU.Build.0 = Release|Any CPU
+ {22A3A359-C6F4-4540-A61F-C8E94A73C95E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {22A3A359-C6F4-4540-A61F-C8E94A73C95E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {22A3A359-C6F4-4540-A61F-C8E94A73C95E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {22A3A359-C6F4-4540-A61F-C8E94A73C95E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {FCE5BD62-F7C7-45EA-80DE-B4880C4A84C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {FCE5BD62-F7C7-45EA-80DE-B4880C4A84C6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {FCE5BD62-F7C7-45EA-80DE-B4880C4A84C6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {FCE5BD62-F7C7-45EA-80DE-B4880C4A84C6}.Release|Any CPU.Build.0 = Release|Any CPU
+ {19A921F2-1587-4E94-A023-B81956874DAB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {19A921F2-1587-4E94-A023-B81956874DAB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {19A921F2-1587-4E94-A023-B81956874DAB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {19A921F2-1587-4E94-A023-B81956874DAB}.Release|Any CPU.Build.0 = Release|Any CPU
+ {91A3257D-0D1A-479D-8F3C-DBB1944802FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {91A3257D-0D1A-479D-8F3C-DBB1944802FE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {91A3257D-0D1A-479D-8F3C-DBB1944802FE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {91A3257D-0D1A-479D-8F3C-DBB1944802FE}.Release|Any CPU.Build.0 = Release|Any CPU
+ {5E6550EA-D878-455C-8EF7-5382661C1D52}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5E6550EA-D878-455C-8EF7-5382661C1D52}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5E6550EA-D878-455C-8EF7-5382661C1D52}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {5E6550EA-D878-455C-8EF7-5382661C1D52}.Release|Any CPU.Build.0 = Release|Any CPU
+ {14CDCC5A-006A-41EC-8B48-F3EFAC842432}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {14CDCC5A-006A-41EC-8B48-F3EFAC842432}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {14CDCC5A-006A-41EC-8B48-F3EFAC842432}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {14CDCC5A-006A-41EC-8B48-F3EFAC842432}.Release|Any CPU.Build.0 = Release|Any CPU
+ {11C6A285-8BC0-44C9-9FAB-F93462C75ABC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {11C6A285-8BC0-44C9-9FAB-F93462C75ABC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {11C6A285-8BC0-44C9-9FAB-F93462C75ABC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {11C6A285-8BC0-44C9-9FAB-F93462C75ABC}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C7EB7304-CADD-4F09-84AC-43123406B28F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C7EB7304-CADD-4F09-84AC-43123406B28F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C7EB7304-CADD-4F09-84AC-43123406B28F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C7EB7304-CADD-4F09-84AC-43123406B28F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {DE15C716-E1C3-4FC3-B976-7EA06EBF23F5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {DE15C716-E1C3-4FC3-B976-7EA06EBF23F5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {DE15C716-E1C3-4FC3-B976-7EA06EBF23F5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {DE15C716-E1C3-4FC3-B976-7EA06EBF23F5}.Release|Any CPU.Build.0 = Release|Any CPU
+ {430D3AF9-DCCF-4B6F-BFAF-1ECC2F0594A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {430D3AF9-DCCF-4B6F-BFAF-1ECC2F0594A2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {430D3AF9-DCCF-4B6F-BFAF-1ECC2F0594A2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {430D3AF9-DCCF-4B6F-BFAF-1ECC2F0594A2}.Release|Any CPU.Build.0 = Release|Any CPU
+ {CC104C76-0CC6-453E-A49D-C4995B6EB72B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {CC104C76-0CC6-453E-A49D-C4995B6EB72B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {CC104C76-0CC6-453E-A49D-C4995B6EB72B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {CC104C76-0CC6-453E-A49D-C4995B6EB72B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {13AF64F3-8962-4568-A0E1-833CCA1922D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {13AF64F3-8962-4568-A0E1-833CCA1922D5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {13AF64F3-8962-4568-A0E1-833CCA1922D5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {13AF64F3-8962-4568-A0E1-833CCA1922D5}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F9FADD90-8634-4B03-AC44-9F6C80B30E73}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F9FADD90-8634-4B03-AC44-9F6C80B30E73}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F9FADD90-8634-4B03-AC44-9F6C80B30E73}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F9FADD90-8634-4B03-AC44-9F6C80B30E73}.Release|Any CPU.Build.0 = Release|Any CPU
+ {8BC28722-20CC-41BD-B183-4E33E94CA2A7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {8BC28722-20CC-41BD-B183-4E33E94CA2A7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {8BC28722-20CC-41BD-B183-4E33E94CA2A7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {8BC28722-20CC-41BD-B183-4E33E94CA2A7}.Release|Any CPU.Build.0 = Release|Any CPU
+ {6A398750-D7D8-43DC-8DF8-AA65C5766154}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {6A398750-D7D8-43DC-8DF8-AA65C5766154}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {6A398750-D7D8-43DC-8DF8-AA65C5766154}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {6A398750-D7D8-43DC-8DF8-AA65C5766154}.Release|Any CPU.Build.0 = Release|Any CPU
+ {8D196E3D-6F95-4793-B948-79669AF09017}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {8D196E3D-6F95-4793-B948-79669AF09017}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {8D196E3D-6F95-4793-B948-79669AF09017}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {8D196E3D-6F95-4793-B948-79669AF09017}.Release|Any CPU.Build.0 = Release|Any CPU
+ {FB20372D-6C96-4733-9AAC-12522F15CAA6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {FB20372D-6C96-4733-9AAC-12522F15CAA6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {FB20372D-6C96-4733-9AAC-12522F15CAA6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {FB20372D-6C96-4733-9AAC-12522F15CAA6}.Release|Any CPU.Build.0 = Release|Any CPU
+ {FB1C29FF-5467-4CF0-995D-5B3F931AB135}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {FB1C29FF-5467-4CF0-995D-5B3F931AB135}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {FB1C29FF-5467-4CF0-995D-5B3F931AB135}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {FB1C29FF-5467-4CF0-995D-5B3F931AB135}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A091AE9B-3A1E-49AC-9AD5-D29310512A3D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A091AE9B-3A1E-49AC-9AD5-D29310512A3D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A091AE9B-3A1E-49AC-9AD5-D29310512A3D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A091AE9B-3A1E-49AC-9AD5-D29310512A3D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C018EFF9-579E-43B3-9181-543BE95E2E03}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C018EFF9-579E-43B3-9181-543BE95E2E03}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C018EFF9-579E-43B3-9181-543BE95E2E03}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C018EFF9-579E-43B3-9181-543BE95E2E03}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D9108313-8D05-4F5F-9AA0-B443EC3374B6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D9108313-8D05-4F5F-9AA0-B443EC3374B6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D9108313-8D05-4F5F-9AA0-B443EC3374B6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D9108313-8D05-4F5F-9AA0-B443EC3374B6}.Release|Any CPU.Build.0 = Release|Any CPU
+ {4C65690E-2C17-46A1-BB35-A51BAB2EA3B7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {4C65690E-2C17-46A1-BB35-A51BAB2EA3B7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {4C65690E-2C17-46A1-BB35-A51BAB2EA3B7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {4C65690E-2C17-46A1-BB35-A51BAB2EA3B7}.Release|Any CPU.Build.0 = Release|Any CPU
+ {3C3FF821-E43D-4D58-8B3C-1E97F4518EF7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {3C3FF821-E43D-4D58-8B3C-1E97F4518EF7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {3C3FF821-E43D-4D58-8B3C-1E97F4518EF7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {3C3FF821-E43D-4D58-8B3C-1E97F4518EF7}.Release|Any CPU.Build.0 = Release|Any CPU
+ {866B0894-2B50-484E-BE7E-F221956557F3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {866B0894-2B50-484E-BE7E-F221956557F3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {866B0894-2B50-484E-BE7E-F221956557F3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {866B0894-2B50-484E-BE7E-F221956557F3}.Release|Any CPU.Build.0 = Release|Any CPU
+ {E7B2B79A-09D3-4B7D-83A1-F6DE57E8584B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E7B2B79A-09D3-4B7D-83A1-F6DE57E8584B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {E7B2B79A-09D3-4B7D-83A1-F6DE57E8584B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {E7B2B79A-09D3-4B7D-83A1-F6DE57E8584B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {3B5E4384-9E08-46A6-B526-DF198823D7C8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {3B5E4384-9E08-46A6-B526-DF198823D7C8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {3B5E4384-9E08-46A6-B526-DF198823D7C8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {3B5E4384-9E08-46A6-B526-DF198823D7C8}.Release|Any CPU.Build.0 = Release|Any CPU
+ {23BCC55E-3D30-4E4E-8489-15A5894EE480}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {23BCC55E-3D30-4E4E-8489-15A5894EE480}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {23BCC55E-3D30-4E4E-8489-15A5894EE480}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {23BCC55E-3D30-4E4E-8489-15A5894EE480}.Release|Any CPU.Build.0 = Release|Any CPU
+ {81B29ECF-F004-4DC6-9126-2E45B02C2DFE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {81B29ECF-F004-4DC6-9126-2E45B02C2DFE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {81B29ECF-F004-4DC6-9126-2E45B02C2DFE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {81B29ECF-F004-4DC6-9126-2E45B02C2DFE}.Release|Any CPU.Build.0 = Release|Any CPU
+ {65270240-0157-423A-9115-EAE2992E2FE7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {65270240-0157-423A-9115-EAE2992E2FE7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {65270240-0157-423A-9115-EAE2992E2FE7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {65270240-0157-423A-9115-EAE2992E2FE7}.Release|Any CPU.Build.0 = Release|Any CPU
+ {72C8D8FA-9B61-415F-8FAF-08BC7BD13E9C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {72C8D8FA-9B61-415F-8FAF-08BC7BD13E9C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {72C8D8FA-9B61-415F-8FAF-08BC7BD13E9C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {72C8D8FA-9B61-415F-8FAF-08BC7BD13E9C}.Release|Any CPU.Build.0 = Release|Any CPU
+ {E6D3F0F8-0683-4A00-8459-C9C4C65D825D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E6D3F0F8-0683-4A00-8459-C9C4C65D825D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {E6D3F0F8-0683-4A00-8459-C9C4C65D825D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {E6D3F0F8-0683-4A00-8459-C9C4C65D825D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C912E1E7-4F8F-4ADB-BB27-D40B1903FED0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C912E1E7-4F8F-4ADB-BB27-D40B1903FED0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C912E1E7-4F8F-4ADB-BB27-D40B1903FED0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C912E1E7-4F8F-4ADB-BB27-D40B1903FED0}.Release|Any CPU.Build.0 = Release|Any CPU
+ {80E12564-E2B3-4307-B40E-20E24BF02916}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {80E12564-E2B3-4307-B40E-20E24BF02916}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {80E12564-E2B3-4307-B40E-20E24BF02916}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {80E12564-E2B3-4307-B40E-20E24BF02916}.Release|Any CPU.Build.0 = Release|Any CPU
+ {9201AEE4-2E6D-4A48-805F-3F3C6878BC0B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {9201AEE4-2E6D-4A48-805F-3F3C6878BC0B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {9201AEE4-2E6D-4A48-805F-3F3C6878BC0B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {9201AEE4-2E6D-4A48-805F-3F3C6878BC0B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {78589964-923E-4803-9B74-183487C3ED0F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {78589964-923E-4803-9B74-183487C3ED0F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {78589964-923E-4803-9B74-183487C3ED0F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {78589964-923E-4803-9B74-183487C3ED0F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {831CD22A-AC6E-4515-AB24-8C96B34C717F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {831CD22A-AC6E-4515-AB24-8C96B34C717F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {831CD22A-AC6E-4515-AB24-8C96B34C717F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {831CD22A-AC6E-4515-AB24-8C96B34C717F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {56AF025A-9F18-4097-9B5A-855C56E9AA04}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {56AF025A-9F18-4097-9B5A-855C56E9AA04}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {56AF025A-9F18-4097-9B5A-855C56E9AA04}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {56AF025A-9F18-4097-9B5A-855C56E9AA04}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A49FCA2B-998A-4A4A-9ADE-523AB083CFBA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A49FCA2B-998A-4A4A-9ADE-523AB083CFBA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A49FCA2B-998A-4A4A-9ADE-523AB083CFBA}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A49FCA2B-998A-4A4A-9ADE-523AB083CFBA}.Release|Any CPU.Build.0 = Release|Any CPU
+ {5BBF431C-8617-47A6-B10A-AE5665BF1E1F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5BBF431C-8617-47A6-B10A-AE5665BF1E1F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5BBF431C-8617-47A6-B10A-AE5665BF1E1F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {5BBF431C-8617-47A6-B10A-AE5665BF1E1F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {994971ED-A7E5-438E-AAE3-C4F61111BFB4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {994971ED-A7E5-438E-AAE3-C4F61111BFB4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {994971ED-A7E5-438E-AAE3-C4F61111BFB4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {994971ED-A7E5-438E-AAE3-C4F61111BFB4}.Release|Any CPU.Build.0 = Release|Any CPU
+ {63B86B76-F3ED-40E2-8F72-808B4A5FB1DE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {63B86B76-F3ED-40E2-8F72-808B4A5FB1DE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {63B86B76-F3ED-40E2-8F72-808B4A5FB1DE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {63B86B76-F3ED-40E2-8F72-808B4A5FB1DE}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C28EEDC0-6D83-4D7C-AED3-F6F49AEA5E02}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C28EEDC0-6D83-4D7C-AED3-F6F49AEA5E02}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C28EEDC0-6D83-4D7C-AED3-F6F49AEA5E02}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C28EEDC0-6D83-4D7C-AED3-F6F49AEA5E02}.Release|Any CPU.Build.0 = Release|Any CPU
+ {DDC5801F-8E0D-4290-9585-EF60C7FC98E5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {DDC5801F-8E0D-4290-9585-EF60C7FC98E5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {DDC5801F-8E0D-4290-9585-EF60C7FC98E5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {DDC5801F-8E0D-4290-9585-EF60C7FC98E5}.Release|Any CPU.Build.0 = Release|Any CPU
+ {97ACF365-2693-4352-8EDD-EE26995D3215}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {97ACF365-2693-4352-8EDD-EE26995D3215}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {97ACF365-2693-4352-8EDD-EE26995D3215}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {97ACF365-2693-4352-8EDD-EE26995D3215}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {554AD327-6DBA-4F8F-96F8-81CE7A0C863F} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
+ {1A94A50E-06DC-43C1-80B5-B662820EC3EB} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
+ {C956DD76-69C8-4A9C-83EA-D17DF83340FD} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
+ {CA9AC87F-097E-4F15-8393-4BC07735A5B0} = {2C861ADD-76E9-4B3B-8A3C-638EBB67D683}
+ {04DBDB01-70F4-4E06-B468-8F87850B22BE} = {2C861ADD-76E9-4B3B-8A3C-638EBB67D683}
+ {50B2631D-129C-47B3-A587-029CCD6099BC} = {04DBDB01-70F4-4E06-B468-8F87850B22BE}
+ {42F719ED-8413-4895-B5B4-5AB56079BC66} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
+ {520659C8-C734-4298-A3DA-B539DB9DFC0B} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
+ {4164BDF7-F527-4E85-9CE6-E3C2D7426A27} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
+ {3B5A0094-670D-4BB1-BFDD-61B88A8773DC} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
+ {1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81} = {04DBDB01-70F4-4E06-B468-8F87850B22BE}
+ {91853F21-9CD9-4132-BC29-A7D5D84FFFE7} = {04DBDB01-70F4-4E06-B468-8F87850B22BE}
+ {E512F4D9-9375-480F-A2F6-A46509F9D824} = {04DBDB01-70F4-4E06-B468-8F87850B22BE}
+ {EF480016-9127-4916-8735-D2466BDBC582} = {04DBDB01-70F4-4E06-B468-8F87850B22BE}
+ {AA94D832-1CCC-4715-95A9-A483F23A1A5D} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
+ {9F5676A3-00DC-48B7-93D1-341C39E19BB9} = {CC2EBB07-A070-4158-AB37-A0C0BBAEA9F5}
+ {C4AC9352-C9F5-4096-8D73-13638232CFB9} = {9F5676A3-00DC-48B7-93D1-341C39E19BB9}
+ {EB2B8705-18E7-49E1-A565-93A6DE5570D5} = {F8A8EB2A-2D4B-464F-9A13-F8F7B6A8FAA3}
+ {E28AECBD-2904-477C-9817-C67312330A41} = {EB2B8705-18E7-49E1-A565-93A6DE5570D5}
+ {120FE15B-3E5C-4BFF-B874-F09235C9E1ED} = {EB2B8705-18E7-49E1-A565-93A6DE5570D5}
+ {3E69D96A-F923-4AC4-8430-9AAB84B6A3FE} = {E28AECBD-2904-477C-9817-C67312330A41}
+ {F475DD35-9F27-43FF-9D96-365661ADC3C6} = {E28AECBD-2904-477C-9817-C67312330A41}
+ {34B5BCF2-95C0-4136-AC9E-FC80D8ACBD1C} = {E28AECBD-2904-477C-9817-C67312330A41}
+ {4ADEEE7D-7886-4F85-BAA2-CCEE6E30EBFD} = {E28AECBD-2904-477C-9817-C67312330A41}
+ {10DF0925-A1EE-4B1C-AAF6-249C6D02424C} = {E28AECBD-2904-477C-9817-C67312330A41}
+ {0880AA9C-0E45-43B3-B02A-093736CDD961} = {E28AECBD-2904-477C-9817-C67312330A41}
+ {B3554E2E-7150-482F-A08F-DCB8BD166FED} = {E28AECBD-2904-477C-9817-C67312330A41}
+ {22A3A359-C6F4-4540-A61F-C8E94A73C95E} = {120FE15B-3E5C-4BFF-B874-F09235C9E1ED}
+ {FCE5BD62-F7C7-45EA-80DE-B4880C4A84C6} = {120FE15B-3E5C-4BFF-B874-F09235C9E1ED}
+ {19A921F2-1587-4E94-A023-B81956874DAB} = {120FE15B-3E5C-4BFF-B874-F09235C9E1ED}
+ {91A3257D-0D1A-479D-8F3C-DBB1944802FE} = {120FE15B-3E5C-4BFF-B874-F09235C9E1ED}
+ {9C53260A-6F4B-4106-98B0-EDCC10BB3E1A} = {F8A8EB2A-2D4B-464F-9A13-F8F7B6A8FAA3}
+ {D1CFD035-1562-42CF-A96A-0E2EA8D92E80} = {9C53260A-6F4B-4106-98B0-EDCC10BB3E1A}
+ {E76E35FC-B62E-48D5-A7AF-79375CFD20BD} = {9C53260A-6F4B-4106-98B0-EDCC10BB3E1A}
+ {5E6550EA-D878-455C-8EF7-5382661C1D52} = {D1CFD035-1562-42CF-A96A-0E2EA8D92E80}
+ {14CDCC5A-006A-41EC-8B48-F3EFAC842432} = {D1CFD035-1562-42CF-A96A-0E2EA8D92E80}
+ {11C6A285-8BC0-44C9-9FAB-F93462C75ABC} = {D1CFD035-1562-42CF-A96A-0E2EA8D92E80}
+ {C7EB7304-CADD-4F09-84AC-43123406B28F} = {D1CFD035-1562-42CF-A96A-0E2EA8D92E80}
+ {DE15C716-E1C3-4FC3-B976-7EA06EBF23F5} = {D1CFD035-1562-42CF-A96A-0E2EA8D92E80}
+ {430D3AF9-DCCF-4B6F-BFAF-1ECC2F0594A2} = {D1CFD035-1562-42CF-A96A-0E2EA8D92E80}
+ {CC104C76-0CC6-453E-A49D-C4995B6EB72B} = {D1CFD035-1562-42CF-A96A-0E2EA8D92E80}
+ {13AF64F3-8962-4568-A0E1-833CCA1922D5} = {E76E35FC-B62E-48D5-A7AF-79375CFD20BD}
+ {F9FADD90-8634-4B03-AC44-9F6C80B30E73} = {E76E35FC-B62E-48D5-A7AF-79375CFD20BD}
+ {8BC28722-20CC-41BD-B183-4E33E94CA2A7} = {E76E35FC-B62E-48D5-A7AF-79375CFD20BD}
+ {6A398750-D7D8-43DC-8DF8-AA65C5766154} = {E76E35FC-B62E-48D5-A7AF-79375CFD20BD}
+ {5AACD0EE-F2B2-49F6-868F-8FE08D7243C0} = {9C53260A-6F4B-4106-98B0-EDCC10BB3E1A}
+ {8D196E3D-6F95-4793-B948-79669AF09017} = {5AACD0EE-F2B2-49F6-868F-8FE08D7243C0}
+ {8C1B8C6C-C518-4290-B070-622CCA6004DA} = {2C861ADD-76E9-4B3B-8A3C-638EBB67D683}
+ {2C09EED0-5AF6-4F1E-B05A-FB3272EDF6E8} = {CC2EBB07-A070-4158-AB37-A0C0BBAEA9F5}
+ {11ED8435-B5AE-4BF3-9D4B-51FA1E4A18A6} = {2C09EED0-5AF6-4F1E-B05A-FB3272EDF6E8}
+ {FB20372D-6C96-4733-9AAC-12522F15CAA6} = {8C1B8C6C-C518-4290-B070-622CCA6004DA}
+ {FB1C29FF-5467-4CF0-995D-5B3F931AB135} = {8C1B8C6C-C518-4290-B070-622CCA6004DA}
+ {A091AE9B-3A1E-49AC-9AD5-D29310512A3D} = {6434E3F2-B352-4B30-839A-88C2BA166D96}
+ {C018EFF9-579E-43B3-9181-543BE95E2E03} = {6434E3F2-B352-4B30-839A-88C2BA166D96}
+ {D9108313-8D05-4F5F-9AA0-B443EC3374B6} = {5C304CBC-F30D-413C-A0AF-8B6814A2D4A3}
+ {4C65690E-2C17-46A1-BB35-A51BAB2EA3B7} = {C4AC9352-C9F5-4096-8D73-13638232CFB9}
+ {3C3FF821-E43D-4D58-8B3C-1E97F4518EF7} = {11ED8435-B5AE-4BF3-9D4B-51FA1E4A18A6}
+ {F604F9BE-CAAB-4D94-8989-22DE4D966C7A} = {F8A8EB2A-2D4B-464F-9A13-F8F7B6A8FAA3}
+ {C188A1F4-9601-42E5-9A0A-B282E13EAC41} = {F604F9BE-CAAB-4D94-8989-22DE4D966C7A}
+ {2CC8E555-AA80-4D7A-B606-0821E6754187} = {F604F9BE-CAAB-4D94-8989-22DE4D966C7A}
+ {40BF21CB-4520-45A6-A588-5FFB95BAC87C} = {F604F9BE-CAAB-4D94-8989-22DE4D966C7A}
+ {866B0894-2B50-484E-BE7E-F221956557F3} = {2CC8E555-AA80-4D7A-B606-0821E6754187}
+ {E7B2B79A-09D3-4B7D-83A1-F6DE57E8584B} = {2CC8E555-AA80-4D7A-B606-0821E6754187}
+ {3B5E4384-9E08-46A6-B526-DF198823D7C8} = {2CC8E555-AA80-4D7A-B606-0821E6754187}
+ {23BCC55E-3D30-4E4E-8489-15A5894EE480} = {2CC8E555-AA80-4D7A-B606-0821E6754187}
+ {81B29ECF-F004-4DC6-9126-2E45B02C2DFE} = {2CC8E555-AA80-4D7A-B606-0821E6754187}
+ {65270240-0157-423A-9115-EAE2992E2FE7} = {2CC8E555-AA80-4D7A-B606-0821E6754187}
+ {72C8D8FA-9B61-415F-8FAF-08BC7BD13E9C} = {2CC8E555-AA80-4D7A-B606-0821E6754187}
+ {E6D3F0F8-0683-4A00-8459-C9C4C65D825D} = {40BF21CB-4520-45A6-A588-5FFB95BAC87C}
+ {C912E1E7-4F8F-4ADB-BB27-D40B1903FED0} = {40BF21CB-4520-45A6-A588-5FFB95BAC87C}
+ {80E12564-E2B3-4307-B40E-20E24BF02916} = {40BF21CB-4520-45A6-A588-5FFB95BAC87C}
+ {9201AEE4-2E6D-4A48-805F-3F3C6878BC0B} = {40BF21CB-4520-45A6-A588-5FFB95BAC87C}
+ {78589964-923E-4803-9B74-183487C3ED0F} = {40BF21CB-4520-45A6-A588-5FFB95BAC87C}
+ {831CD22A-AC6E-4515-AB24-8C96B34C717F} = {C188A1F4-9601-42E5-9A0A-B282E13EAC41}
+ {5D994A2D-4ABB-47B7-B1CB-474E6B6C5437} = {F8A8EB2A-2D4B-464F-9A13-F8F7B6A8FAA3}
+ {1C6F6BDF-F309-49F5-80F9-152CB1F883AB} = {5D994A2D-4ABB-47B7-B1CB-474E6B6C5437}
+ {03DAEDDF-7E80-41AD-883B-FEB89992F18B} = {5D994A2D-4ABB-47B7-B1CB-474E6B6C5437}
+ {61DF4305-D331-40A8-9F71-792D9793AF9F} = {5D994A2D-4ABB-47B7-B1CB-474E6B6C5437}
+ {56AF025A-9F18-4097-9B5A-855C56E9AA04} = {1C6F6BDF-F309-49F5-80F9-152CB1F883AB}
+ {A49FCA2B-998A-4A4A-9ADE-523AB083CFBA} = {03DAEDDF-7E80-41AD-883B-FEB89992F18B}
+ {5BBF431C-8617-47A6-B10A-AE5665BF1E1F} = {03DAEDDF-7E80-41AD-883B-FEB89992F18B}
+ {994971ED-A7E5-438E-AAE3-C4F61111BFB4} = {03DAEDDF-7E80-41AD-883B-FEB89992F18B}
+ {63B86B76-F3ED-40E2-8F72-808B4A5FB1DE} = {03DAEDDF-7E80-41AD-883B-FEB89992F18B}
+ {C28EEDC0-6D83-4D7C-AED3-F6F49AEA5E02} = {03DAEDDF-7E80-41AD-883B-FEB89992F18B}
+ {DDC5801F-8E0D-4290-9585-EF60C7FC98E5} = {61DF4305-D331-40A8-9F71-792D9793AF9F}
+ {97ACF365-2693-4352-8EDD-EE26995D3215} = {61DF4305-D331-40A8-9F71-792D9793AF9F}
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {28315BFD-90E7-4E14-A2EA-F3D23AF4126F}
+ EndGlobalSection
+EndGlobal
diff --git a/aspnet-core/modules/AuditLoggingManagement/host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host/AuditLoggingManagementHttpApiHostModule.cs b/aspnet-core/modules/AuditLoggingManagement/host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host/AuditLoggingManagementHttpApiHostModule.cs
new file mode 100644
index 00000000..60795f3b
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host/AuditLoggingManagementHttpApiHostModule.cs
@@ -0,0 +1,128 @@
+using Lion.AbpPro.Shared.Hosting.Microservices;
+using Microsoft.AspNetCore.Authentication.JwtBearer;
+using Microsoft.OpenApi.Models;
+using Volo.Abp;
+using Volo.Abp.AspNetCore.Serilog;
+using Volo.Abp.AuditLogging.EntityFrameworkCore;
+using Volo.Abp.Autofac;
+using Volo.Abp.EntityFrameworkCore;
+using Volo.Abp.EntityFrameworkCore.MySQL;
+using Volo.Abp.Modularity;
+
+namespace Lion.AbpPro.AuditLoggingManagement.HttpApi.Host
+{
+ [DependsOn(
+ typeof(AuditLoggingManagementApplicationModule),
+ typeof(AuditLoggingManagementHttpApiModule),
+ typeof(AbpAuditLoggingEntityFrameworkCoreModule),
+ typeof(SharedHostingMicroserviceModule),
+ typeof(AbpAutofacModule),
+ typeof(AbpEntityFrameworkCoreMySQLModule),
+ typeof(AbpAspNetCoreSerilogModule)
+ )]
+ public class AuditLoggingManagementHttpApiHostModule : AbpModule
+ {
+ public override void ConfigureServices(ServiceConfigurationContext context)
+ {
+ ConfigureSwaggerServices(context);
+ ConfigureDB(context);
+ }
+
+ public override void OnApplicationInitialization(ApplicationInitializationContext context)
+ {
+ var app = context.GetApplicationBuilder();
+ var env = context.GetEnvironment();
+
+ if (env.IsDevelopment())
+ {
+ app.UseDeveloperExceptionPage(); // 建议开启,方便开发排错
+ }
+
+ app.UseHttpsRedirection();
+ app.UseCorrelationId();
+ app.UseStaticFiles();
+ app.UseRouting();
+ app.UseAuthentication();
+ app.UseAbpRequestLocalization();
+ app.UseAuthorization();
+
+ app.UseSwagger();
+ app.UseAbpSwaggerUI(options =>
+ {
+ options.SwaggerEndpoint("/swagger/v1/swagger.json", "AuditLoggingManagement API");
+ });
+ app.UseAuditing();
+ app.UseAbpSerilogEnrichers();
+ app.UseConfiguredEndpoints();
+ }
+
+ ///
+ /// 配置SwaggerUI
+ ///
+ ///
+ private static void ConfigureSwaggerServices(ServiceConfigurationContext context)
+ {
+ context.Services.AddSwaggerGen(
+ options =>
+ {
+ options.SwaggerDoc("v1", new OpenApiInfo { Title = "AuditLoggingManagement API", Version = "v1" });
+
+ options.DocInclusionPredicate((docName, description) => true);
+
+ #region 添加token
+
+ options.AddSecurityDefinition(JwtBearerDefaults.AuthenticationScheme, new OpenApiSecurityScheme()
+ {
+ Description = "请输入Token",
+ Name = "Authorization",
+ In = ParameterLocation.Header,
+ Type = SecuritySchemeType.Http,
+ Scheme = JwtBearerDefaults.AuthenticationScheme,
+ BearerFormat = "JWT"
+ });
+ options.AddSecurityRequirement(new OpenApiSecurityRequirement
+ {
+ {
+ new OpenApiSecurityScheme
+ {
+ Reference = new OpenApiReference
+ {
+ Type = ReferenceType.SecurityScheme, Id = "Bearer"
+ }
+ },
+ new List()
+ }
+ });
+
+ options.AddSecurityDefinition("ApiKey", new OpenApiSecurityScheme()
+ {
+ Type = SecuritySchemeType.ApiKey,
+ In = ParameterLocation.Header,
+ Name = "Accept-Language",
+ Description = "多语言设置,系统预设语言有zh-Hans、en,默认为zh-Hans"
+ });
+
+ options.AddSecurityRequirement(new OpenApiSecurityRequirement
+ {
+ {
+ new OpenApiSecurityScheme
+ {
+ Reference = new OpenApiReference{ Type = ReferenceType.SecurityScheme, Id = "ApiKey" }
+ },
+ Array.Empty()
+ }
+ });
+
+ #endregion
+ });
+ }
+
+ private void ConfigureDB(ServiceConfigurationContext context)
+ {
+ Configure(options =>
+ {
+ options.UseMySQL();
+ });
+ }
+ }
+}
diff --git a/aspnet-core/modules/AuditLoggingManagement/host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host/Controllers/HomeController.cs b/aspnet-core/modules/AuditLoggingManagement/host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host/Controllers/HomeController.cs
new file mode 100644
index 00000000..89ae3b77
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host/Controllers/HomeController.cs
@@ -0,0 +1,13 @@
+using Microsoft.AspNetCore.Mvc;
+using Volo.Abp.AspNetCore.Mvc;
+
+namespace Lion.AbpPro.AuditLoggingManagement.HttpApi.Host.Controllers
+{
+ public class HomeController : AbpController
+ {
+ public ActionResult Index()
+ {
+ return Redirect("~/swagger");
+ }
+ }
+}
diff --git a/aspnet-core/modules/AuditLoggingManagement/host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host/EntityFrameworkCore/AuditLoggingManagementHttpApiHostMigrationsDbContext.cs b/aspnet-core/modules/AuditLoggingManagement/host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host/EntityFrameworkCore/AuditLoggingManagementHttpApiHostMigrationsDbContext.cs
new file mode 100644
index 00000000..5ad02dd4
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host/EntityFrameworkCore/AuditLoggingManagementHttpApiHostMigrationsDbContext.cs
@@ -0,0 +1,25 @@
+using Microsoft.EntityFrameworkCore;
+using Volo.Abp.AuditLogging;
+using Volo.Abp.AuditLogging.EntityFrameworkCore;
+using Volo.Abp.Data;
+using Volo.Abp.EntityFrameworkCore;
+
+namespace Lion.AbpPro.AuditLoggingManagement.HttpApi.Host.EntityFrameworkCore
+{
+ [ConnectionStringName("AbpAuditLogging")]
+ public class AuditLoggingManagementHttpApiHostMigrationsDbContext : AbpDbContext
+ {
+ public DbSet AuditLogs { get; set; }
+
+ public AuditLoggingManagementHttpApiHostMigrationsDbContext(DbContextOptions options)
+ : base(options)
+ {
+
+ }
+ protected override void OnModelCreating(ModelBuilder modelBuilder)
+ {
+ base.OnModelCreating(modelBuilder);
+ modelBuilder.ConfigureAuditLogging();
+ }
+ }
+}
diff --git a/aspnet-core/modules/AuditLoggingManagement/host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host/EntityFrameworkCore/AuditLoggingManagementHttpApiHostMigrationsDbContextFactory.cs b/aspnet-core/modules/AuditLoggingManagement/host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host/EntityFrameworkCore/AuditLoggingManagementHttpApiHostMigrationsDbContextFactory.cs
new file mode 100644
index 00000000..e05e66b8
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host/EntityFrameworkCore/AuditLoggingManagementHttpApiHostMigrationsDbContextFactory.cs
@@ -0,0 +1,25 @@
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Design;
+
+namespace Lion.AbpPro.AuditLoggingManagement.HttpApi.Host.EntityFrameworkCore
+{
+ public class AuditLoggingManagementHttpApiHostMigrationsDbContextFactory : IDesignTimeDbContextFactory
+ {
+ public AuditLoggingManagementHttpApiHostMigrationsDbContext CreateDbContext(string[] args)
+ {
+ var configuration = BuildConfiguration();
+
+ var builder = new DbContextOptionsBuilder()
+ .UseMySql(configuration.GetConnectionString("AbpAuditLogging"), MySqlServerVersion.LatestSupportedServerVersion);
+ return new AuditLoggingManagementHttpApiHostMigrationsDbContext(builder.Options);
+ }
+
+ private static IConfigurationRoot BuildConfiguration()
+ {
+ var builder = new ConfigurationBuilder()
+ .SetBasePath(Directory.GetCurrentDirectory())
+ .AddJsonFile("appsettings.json", optional: false);
+ return builder.Build();
+ }
+ }
+}
diff --git a/aspnet-core/modules/AuditLoggingManagement/host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host.csproj b/aspnet-core/modules/AuditLoggingManagement/host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host.csproj
new file mode 100644
index 00000000..965adb88
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host.csproj
@@ -0,0 +1,38 @@
+
+
+
+ net6.0
+ enable
+ Lion.AbpPro.AuditLoggingManagement.HttpApi.Host
+
+
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/aspnet-core/modules/AuditLoggingManagement/host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host/Logs/logs.txt b/aspnet-core/modules/AuditLoggingManagement/host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host/Logs/logs.txt
new file mode 100644
index 00000000..eb4ae64d
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host/Logs/logs.txt
@@ -0,0 +1,164 @@
+2022-03-13 21:59:37.640 +08:00 [INF] Starting web host.
+2022-03-13 21:59:49.022 +08:00 [INF] User profile is available. Using 'C:\Users\Administrator\AppData\Local\ASP.NET\DataProtection-Keys' as key repository and Windows DPAPI to encrypt keys at rest.
+2022-03-13 21:59:49.247 +08:00 [INF] Creating key {d1749119-66b3-48ae-9d21-6a34e636a937} with creation date 2022-03-13 13:59:49Z, activation date 2022-03-14 14:01:47Z, and expiration date 2022-06-11 13:59:49Z.
+2022-03-13 21:59:49.259 +08:00 [INF] Writing data to file 'C:\Users\Administrator\AppData\Local\ASP.NET\DataProtection-Keys\key-d1749119-66b3-48ae-9d21-6a34e636a937.xml'.
+2022-03-13 21:59:49.408 +08:00 [INF] Loaded ABP modules:
+2022-03-13 21:59:49.408 +08:00 [INF] - Lion.AbpPro.AuditLoggingManagement.HttpApi.Host.AuditLoggingManagementHttpApiHostModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Lion.AbpPro.AuditLoggingManagement.AuditLoggingManagementApplicationModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Volo.Abp.Application.AbpDddApplicationModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Volo.Abp.Domain.AbpDddDomainModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Volo.Abp.Auditing.AbpAuditingModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Volo.Abp.Data.AbpDataModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Volo.Abp.ObjectExtending.AbpObjectExtendingModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Volo.Abp.Localization.AbpLocalizationAbstractionsModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Volo.Abp.Validation.AbpValidationAbstractionsModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Volo.Abp.Uow.AbpUnitOfWorkModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Volo.Abp.EventBus.Abstractions.AbpEventBusAbstractionsModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Volo.Abp.Json.AbpJsonModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Volo.Abp.Timing.AbpTimingModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Volo.Abp.Localization.AbpLocalizationModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Volo.Abp.VirtualFileSystem.AbpVirtualFileSystemModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Volo.Abp.Settings.AbpSettingsModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Volo.Abp.Security.AbpSecurityModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Volo.Abp.MultiTenancy.AbpMultiTenancyModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Volo.Abp.Threading.AbpThreadingModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Volo.Abp.Auditing.AbpAuditingContractsModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Volo.Abp.EventBus.AbpEventBusModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Volo.Abp.Guids.AbpGuidsModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Volo.Abp.BackgroundWorkers.AbpBackgroundWorkersModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Volo.Abp.DistributedLocking.AbpDistributedLockingAbstractionsModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Volo.Abp.ObjectMapping.AbpObjectMappingModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Volo.Abp.ExceptionHandling.AbpExceptionHandlingModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Volo.Abp.Specifications.AbpSpecificationsModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Volo.Abp.Application.AbpDddApplicationContractsModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Volo.Abp.Validation.AbpValidationModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Volo.Abp.Authorization.AbpAuthorizationModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Volo.Abp.Authorization.AbpAuthorizationAbstractionsModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Volo.Abp.Http.AbpHttpAbstractionsModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Volo.Abp.Features.AbpFeaturesModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Volo.Abp.GlobalFeatures.AbpGlobalFeaturesModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Volo.Abp.Autofac.AbpAutofacModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Volo.Abp.Castle.AbpCastleCoreModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Lion.AbpPro.AuditLoggingManagement.AuditLoggingManagementApplicationContractsModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Lion.AbpPro.AuditLoggingManagement.Domain.Shared.AuditLoggManagementDomainSharedModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Volo.Abp.AuditLogging.AbpAuditLoggingDomainSharedModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Volo.Abp.AuditLogging.AbpAuditLoggingDomainModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Volo.Abp.AutoMapper.AbpAutoMapperModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Lion.AbpPro.AuditLoggingManagement.AuditLoggingManagementHttpApiModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.AbpAspNetCoreMvcModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Volo.Abp.AspNetCore.AbpAspNetCoreModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Volo.Abp.Http.AbpHttpModule
+2022-03-13 21:59:49.408 +08:00 [INF] - Volo.Abp.Minify.AbpMinifyModule
+2022-03-13 21:59:49.409 +08:00 [INF] - Volo.Abp.ApiVersioning.AbpApiVersioningAbstractionsModule
+2022-03-13 21:59:49.409 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.AbpAspNetCoreMvcContractsModule
+2022-03-13 21:59:49.409 +08:00 [INF] - Volo.Abp.UI.Navigation.AbpUiNavigationModule
+2022-03-13 21:59:49.409 +08:00 [INF] - Volo.Abp.UI.AbpUiModule
+2022-03-13 21:59:49.409 +08:00 [INF] - Volo.Abp.AuditLogging.EntityFrameworkCore.AbpAuditLoggingEntityFrameworkCoreModule
+2022-03-13 21:59:49.409 +08:00 [INF] - Volo.Abp.EntityFrameworkCore.AbpEntityFrameworkCoreModule
+2022-03-13 21:59:49.409 +08:00 [INF] - Lion.AbpPro.Shared.Hosting.Microservices.SharedHostingMicroserviceModule
+2022-03-13 21:59:49.409 +08:00 [INF] - Volo.Abp.Swashbuckle.AbpSwashbuckleModule
+2022-03-13 21:59:49.409 +08:00 [INF] - Volo.Abp.EntityFrameworkCore.MySQL.AbpEntityFrameworkCoreMySQLModule
+2022-03-13 21:59:49.409 +08:00 [INF] - Volo.Abp.AspNetCore.Serilog.AbpAspNetCoreSerilogModule
+2022-03-13 21:59:51.169 +08:00 [INF] Initialized all ABP modules.
+2022-03-13 21:59:51.455 +08:00 [INF] Now listening on: http://localhost:5105
+2022-03-13 21:59:51.455 +08:00 [INF] Application started. Press Ctrl+C to shut down.
+2022-03-13 21:59:51.455 +08:00 [INF] Hosting environment: Development
+2022-03-13 21:59:51.455 +08:00 [INF] Content root path: D:\工作\abp-vnext-pro\aspnet-core\modules\AuditLoggingManagement\host\Lion.AbpPro.AuditLoggingManagement.HttpApi.Host
+2022-03-13 21:59:52.244 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:5105/swagger - -
+2022-03-13 21:59:52.386 +08:00 [WRN] Failed to determine the https port for redirect.
+2022-03-13 21:59:52.753 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:5105/swagger - - - 301 0 - 507.5604ms
+2022-03-13 21:59:52.760 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:5105/swagger/index.html - -
+2022-03-13 21:59:53.102 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:5105/swagger/swagger-ui.css - -
+2022-03-13 21:59:53.104 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:5105/swagger/ui/abp.js - -
+2022-03-13 21:59:53.104 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:5105/swagger/ui/abp.swagger.js - -
+2022-03-13 21:59:53.116 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:5105/swagger/swagger-ui-standalone-preset.js - -
+2022-03-13 21:59:53.116 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:5105/swagger/swagger-ui-bundle.js - -
+2022-03-13 21:59:53.147 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:5105/swagger/index.html - - - 200 - text/html;charset=utf-8 386.3674ms
+2022-03-13 21:59:53.152 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:5105/_framework/aspnetcore-browser-refresh.js - -
+2022-03-13 21:59:53.155 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:5105/_framework/aspnetcore-browser-refresh.js - - - 200 11981 application/javascript;+charset=utf-8 3.2127ms
+2022-03-13 21:59:53.159 +08:00 [INF] Sending file. Request path: '/swagger/ui/abp.js'. Physical path: 'N/A'
+2022-03-13 21:59:53.159 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:5105/swagger/ui/abp.js - - - 200 3122 application/javascript 55.8511ms
+2022-03-13 21:59:53.160 +08:00 [INF] Sending file. Request path: '/swagger/ui/abp.swagger.js'. Physical path: 'N/A'
+2022-03-13 21:59:53.161 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:5105/swagger/ui/abp.swagger.js - - - 200 1057 application/javascript 56.7627ms
+2022-03-13 21:59:53.173 +08:00 [INF] Sending file. Request path: '/swagger-ui-standalone-preset.js'. Physical path: 'N/A'
+2022-03-13 21:59:53.173 +08:00 [INF] Sending file. Request path: '/swagger-ui.css'. Physical path: 'N/A'
+2022-03-13 21:59:53.173 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:5105/swagger/swagger-ui-standalone-preset.js - - - 200 337162 application/javascript 57.8838ms
+2022-03-13 21:59:53.174 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:5105/swagger/swagger-ui.css - - - 200 143632 text/css 72.0725ms
+2022-03-13 21:59:53.218 +08:00 [INF] Sending file. Request path: '/swagger-ui-bundle.js'. Physical path: 'N/A'
+2022-03-13 21:59:53.219 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:5105/swagger/swagger-ui-bundle.js - - - 200 1092889 application/javascript 103.0417ms
+2022-03-13 21:59:53.525 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:5105/swagger/v1/swagger.json - -
+2022-03-13 21:59:53.591 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:5105/swagger/favicon-32x32.png - -
+2022-03-13 21:59:53.591 +08:00 [INF] Sending file. Request path: '/favicon-32x32.png'. Physical path: 'N/A'
+2022-03-13 21:59:53.592 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:5105/swagger/favicon-32x32.png - - - 200 628 image/png 0.9992ms
+2022-03-13 21:59:53.860 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:5105/swagger/v1/swagger.json - - - 200 - application/json;charset=utf-8 335.1265ms
+2022-03-13 22:01:20.351 +08:00 [INF] Starting web host.
+2022-03-13 22:01:23.783 +08:00 [INF] User profile is available. Using 'C:\Users\Administrator\AppData\Local\ASP.NET\DataProtection-Keys' as key repository and Windows DPAPI to encrypt keys at rest.
+2022-03-13 22:01:23.903 +08:00 [INF] Loaded ABP modules:
+2022-03-13 22:01:23.903 +08:00 [INF] - Lion.AbpPro.AuditLoggingManagement.HttpApi.Host.AuditLoggingManagementHttpApiHostModule
+2022-03-13 22:01:23.903 +08:00 [INF] - Lion.AbpPro.AuditLoggingManagement.AuditLoggingManagementApplicationModule
+2022-03-13 22:01:23.903 +08:00 [INF] - Volo.Abp.Application.AbpDddApplicationModule
+2022-03-13 22:01:23.903 +08:00 [INF] - Volo.Abp.Domain.AbpDddDomainModule
+2022-03-13 22:01:23.903 +08:00 [INF] - Volo.Abp.Auditing.AbpAuditingModule
+2022-03-13 22:01:23.903 +08:00 [INF] - Volo.Abp.Data.AbpDataModule
+2022-03-13 22:01:23.903 +08:00 [INF] - Volo.Abp.ObjectExtending.AbpObjectExtendingModule
+2022-03-13 22:01:23.903 +08:00 [INF] - Volo.Abp.Localization.AbpLocalizationAbstractionsModule
+2022-03-13 22:01:23.903 +08:00 [INF] - Volo.Abp.Validation.AbpValidationAbstractionsModule
+2022-03-13 22:01:23.903 +08:00 [INF] - Volo.Abp.Uow.AbpUnitOfWorkModule
+2022-03-13 22:01:23.903 +08:00 [INF] - Volo.Abp.EventBus.Abstractions.AbpEventBusAbstractionsModule
+2022-03-13 22:01:23.903 +08:00 [INF] - Volo.Abp.Json.AbpJsonModule
+2022-03-13 22:01:23.903 +08:00 [INF] - Volo.Abp.Timing.AbpTimingModule
+2022-03-13 22:01:23.903 +08:00 [INF] - Volo.Abp.Localization.AbpLocalizationModule
+2022-03-13 22:01:23.903 +08:00 [INF] - Volo.Abp.VirtualFileSystem.AbpVirtualFileSystemModule
+2022-03-13 22:01:23.903 +08:00 [INF] - Volo.Abp.Settings.AbpSettingsModule
+2022-03-13 22:01:23.903 +08:00 [INF] - Volo.Abp.Security.AbpSecurityModule
+2022-03-13 22:01:23.903 +08:00 [INF] - Volo.Abp.MultiTenancy.AbpMultiTenancyModule
+2022-03-13 22:01:23.903 +08:00 [INF] - Volo.Abp.Threading.AbpThreadingModule
+2022-03-13 22:01:23.903 +08:00 [INF] - Volo.Abp.Auditing.AbpAuditingContractsModule
+2022-03-13 22:01:23.903 +08:00 [INF] - Volo.Abp.EventBus.AbpEventBusModule
+2022-03-13 22:01:23.903 +08:00 [INF] - Volo.Abp.Guids.AbpGuidsModule
+2022-03-13 22:01:23.903 +08:00 [INF] - Volo.Abp.BackgroundWorkers.AbpBackgroundWorkersModule
+2022-03-13 22:01:23.903 +08:00 [INF] - Volo.Abp.DistributedLocking.AbpDistributedLockingAbstractionsModule
+2022-03-13 22:01:23.903 +08:00 [INF] - Volo.Abp.ObjectMapping.AbpObjectMappingModule
+2022-03-13 22:01:23.903 +08:00 [INF] - Volo.Abp.ExceptionHandling.AbpExceptionHandlingModule
+2022-03-13 22:01:23.903 +08:00 [INF] - Volo.Abp.Specifications.AbpSpecificationsModule
+2022-03-13 22:01:23.903 +08:00 [INF] - Volo.Abp.Application.AbpDddApplicationContractsModule
+2022-03-13 22:01:23.903 +08:00 [INF] - Volo.Abp.Validation.AbpValidationModule
+2022-03-13 22:01:23.903 +08:00 [INF] - Volo.Abp.Authorization.AbpAuthorizationModule
+2022-03-13 22:01:23.903 +08:00 [INF] - Volo.Abp.Authorization.AbpAuthorizationAbstractionsModule
+2022-03-13 22:01:23.903 +08:00 [INF] - Volo.Abp.Http.AbpHttpAbstractionsModule
+2022-03-13 22:01:23.903 +08:00 [INF] - Volo.Abp.Features.AbpFeaturesModule
+2022-03-13 22:01:23.904 +08:00 [INF] - Volo.Abp.GlobalFeatures.AbpGlobalFeaturesModule
+2022-03-13 22:01:23.904 +08:00 [INF] - Volo.Abp.Autofac.AbpAutofacModule
+2022-03-13 22:01:23.904 +08:00 [INF] - Volo.Abp.Castle.AbpCastleCoreModule
+2022-03-13 22:01:23.904 +08:00 [INF] - Lion.AbpPro.AuditLoggingManagement.AuditLoggingManagementApplicationContractsModule
+2022-03-13 22:01:23.904 +08:00 [INF] - Lion.AbpPro.AuditLoggingManagement.Domain.Shared.AuditLoggManagementDomainSharedModule
+2022-03-13 22:01:23.904 +08:00 [INF] - Volo.Abp.AuditLogging.AbpAuditLoggingDomainSharedModule
+2022-03-13 22:01:23.904 +08:00 [INF] - Volo.Abp.AuditLogging.AbpAuditLoggingDomainModule
+2022-03-13 22:01:23.904 +08:00 [INF] - Volo.Abp.AutoMapper.AbpAutoMapperModule
+2022-03-13 22:01:23.904 +08:00 [INF] - Lion.AbpPro.AuditLoggingManagement.AuditLoggingManagementHttpApiModule
+2022-03-13 22:01:23.904 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.AbpAspNetCoreMvcModule
+2022-03-13 22:01:23.904 +08:00 [INF] - Volo.Abp.AspNetCore.AbpAspNetCoreModule
+2022-03-13 22:01:23.904 +08:00 [INF] - Volo.Abp.Http.AbpHttpModule
+2022-03-13 22:01:23.904 +08:00 [INF] - Volo.Abp.Minify.AbpMinifyModule
+2022-03-13 22:01:23.904 +08:00 [INF] - Volo.Abp.ApiVersioning.AbpApiVersioningAbstractionsModule
+2022-03-13 22:01:23.904 +08:00 [INF] - Volo.Abp.AspNetCore.Mvc.AbpAspNetCoreMvcContractsModule
+2022-03-13 22:01:23.904 +08:00 [INF] - Volo.Abp.UI.Navigation.AbpUiNavigationModule
+2022-03-13 22:01:23.904 +08:00 [INF] - Volo.Abp.UI.AbpUiModule
+2022-03-13 22:01:23.904 +08:00 [INF] - Volo.Abp.AuditLogging.EntityFrameworkCore.AbpAuditLoggingEntityFrameworkCoreModule
+2022-03-13 22:01:23.904 +08:00 [INF] - Volo.Abp.EntityFrameworkCore.AbpEntityFrameworkCoreModule
+2022-03-13 22:01:23.904 +08:00 [INF] - Lion.AbpPro.Shared.Hosting.Microservices.SharedHostingMicroserviceModule
+2022-03-13 22:01:23.904 +08:00 [INF] - Volo.Abp.Swashbuckle.AbpSwashbuckleModule
+2022-03-13 22:01:23.904 +08:00 [INF] - Volo.Abp.EntityFrameworkCore.MySQL.AbpEntityFrameworkCoreMySQLModule
+2022-03-13 22:01:23.904 +08:00 [INF] - Volo.Abp.AspNetCore.Serilog.AbpAspNetCoreSerilogModule
+2022-03-13 22:01:24.509 +08:00 [INF] Initialized all ABP modules.
+2022-03-13 22:01:24.611 +08:00 [INF] Now listening on: http://localhost:5105
+2022-03-13 22:01:24.611 +08:00 [INF] Application started. Press Ctrl+C to shut down.
+2022-03-13 22:01:24.611 +08:00 [INF] Hosting environment: Development
+2022-03-13 22:01:24.611 +08:00 [INF] Content root path: D:\工作\abp-vnext-pro\aspnet-core\modules\AuditLoggingManagement\host\Lion.AbpPro.AuditLoggingManagement.HttpApi.Host
+2022-03-13 22:01:25.476 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:5105/swagger/index.html - -
+2022-03-13 22:01:25.533 +08:00 [WRN] Failed to determine the https port for redirect.
+2022-03-13 22:01:25.908 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:5105/_framework/aspnetcore-browser-refresh.js - -
+2022-03-13 22:01:25.911 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:5105/_framework/aspnetcore-browser-refresh.js - - - 200 11981 application/javascript;+charset=utf-8 2.4372ms
+2022-03-13 22:01:25.915 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:5105/swagger/index.html - - - 200 - text/html;charset=utf-8 441.9388ms
+2022-03-13 22:01:26.243 +08:00 [INF] Request starting HTTP/1.1 GET http://localhost:5105/swagger/v1/swagger.json - -
+2022-03-13 22:01:26.487 +08:00 [INF] Request finished HTTP/1.1 GET http://localhost:5105/swagger/v1/swagger.json - - - 200 - application/json;charset=utf-8 244.4706ms
diff --git a/aspnet-core/modules/AuditLoggingManagement/host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host/Migrations/20220302122446_Init.Designer.cs b/aspnet-core/modules/AuditLoggingManagement/host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host/Migrations/20220302122446_Init.Designer.cs
new file mode 100644
index 00000000..10cf118f
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host/Migrations/20220302122446_Init.Designer.cs
@@ -0,0 +1,325 @@
+//
+using System;
+using Lion.AbpPro.AuditLoggingManagement.HttpApi.Host.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Volo.Abp.EntityFrameworkCore;
+
+#nullable disable
+
+namespace Lion.AbpPro.AuditLoggingManagement.HttpApi.Host.Migrations
+{
+ [DbContext(typeof(AuditLoggingManagementHttpApiHostMigrationsDbContext))]
+ [Migration("20220302122446_Init")]
+ partial class Init
+ {
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.MySql)
+ .HasAnnotation("ProductVersion", "6.0.2")
+ .HasAnnotation("Relational:MaxIdentifierLength", 64);
+
+ modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("char(36)");
+
+ b.Property("ApplicationName")
+ .HasMaxLength(96)
+ .HasColumnType("varchar(96)")
+ .HasColumnName("ApplicationName");
+
+ b.Property("BrowserInfo")
+ .HasMaxLength(512)
+ .HasColumnType("varchar(512)")
+ .HasColumnName("BrowserInfo");
+
+ b.Property("ClientId")
+ .HasMaxLength(64)
+ .HasColumnType("varchar(64)")
+ .HasColumnName("ClientId");
+
+ b.Property("ClientIpAddress")
+ .HasMaxLength(64)
+ .HasColumnType("varchar(64)")
+ .HasColumnName("ClientIpAddress");
+
+ b.Property("ClientName")
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)")
+ .HasColumnName("ClientName");
+
+ b.Property("Comments")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasColumnName("Comments");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("CorrelationId")
+ .HasMaxLength(64)
+ .HasColumnType("varchar(64)")
+ .HasColumnName("CorrelationId");
+
+ b.Property("Exceptions")
+ .HasColumnType("longtext");
+
+ b.Property("ExecutionDuration")
+ .HasColumnType("int")
+ .HasColumnName("ExecutionDuration");
+
+ b.Property("ExecutionTime")
+ .HasColumnType("datetime(6)");
+
+ b.Property("ExtraProperties")
+ .HasColumnType("longtext")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("HttpMethod")
+ .HasMaxLength(16)
+ .HasColumnType("varchar(16)")
+ .HasColumnName("HttpMethod");
+
+ b.Property("HttpStatusCode")
+ .HasColumnType("int")
+ .HasColumnName("HttpStatusCode");
+
+ b.Property("ImpersonatorTenantId")
+ .HasColumnType("char(36)")
+ .HasColumnName("ImpersonatorTenantId");
+
+ b.Property("ImpersonatorTenantName")
+ .HasMaxLength(64)
+ .HasColumnType("varchar(64)")
+ .HasColumnName("ImpersonatorTenantName");
+
+ b.Property("ImpersonatorUserId")
+ .HasColumnType("char(36)")
+ .HasColumnName("ImpersonatorUserId");
+
+ b.Property("ImpersonatorUserName")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasColumnName("ImpersonatorUserName");
+
+ b.Property("TenantId")
+ .HasColumnType("char(36)")
+ .HasColumnName("TenantId");
+
+ b.Property("TenantName")
+ .HasMaxLength(64)
+ .HasColumnType("varchar(64)")
+ .HasColumnName("TenantName");
+
+ b.Property("Url")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasColumnName("Url");
+
+ b.Property("UserId")
+ .HasColumnType("char(36)")
+ .HasColumnName("UserId");
+
+ b.Property("UserName")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasColumnName("UserName");
+
+ b.HasKey("Id");
+
+ b.HasIndex("TenantId", "ExecutionTime");
+
+ b.HasIndex("TenantId", "UserId", "ExecutionTime");
+
+ b.ToTable("AbpAuditLogs", (string)null);
+ });
+
+ modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("char(36)");
+
+ b.Property("AuditLogId")
+ .HasColumnType("char(36)")
+ .HasColumnName("AuditLogId");
+
+ b.Property("ExecutionDuration")
+ .HasColumnType("int")
+ .HasColumnName("ExecutionDuration");
+
+ b.Property("ExecutionTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("ExecutionTime");
+
+ b.Property("ExtraProperties")
+ .HasColumnType("longtext")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("MethodName")
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)")
+ .HasColumnName("MethodName");
+
+ b.Property("Parameters")
+ .HasMaxLength(2000)
+ .HasColumnType("varchar(2000)")
+ .HasColumnName("Parameters");
+
+ b.Property("ServiceName")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasColumnName("ServiceName");
+
+ b.Property("TenantId")
+ .HasColumnType("char(36)")
+ .HasColumnName("TenantId");
+
+ b.HasKey("Id");
+
+ b.HasIndex("AuditLogId");
+
+ b.HasIndex("TenantId", "ServiceName", "MethodName", "ExecutionTime");
+
+ b.ToTable("AbpAuditLogActions", (string)null);
+ });
+
+ modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("char(36)");
+
+ b.Property("AuditLogId")
+ .HasColumnType("char(36)")
+ .HasColumnName("AuditLogId");
+
+ b.Property("ChangeTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("ChangeTime");
+
+ b.Property("ChangeType")
+ .HasColumnType("tinyint unsigned")
+ .HasColumnName("ChangeType");
+
+ b.Property("EntityId")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)")
+ .HasColumnName("EntityId");
+
+ b.Property("EntityTenantId")
+ .HasColumnType("char(36)");
+
+ b.Property("EntityTypeFullName")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)")
+ .HasColumnName("EntityTypeFullName");
+
+ b.Property("ExtraProperties")
+ .HasColumnType("longtext")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("TenantId")
+ .HasColumnType("char(36)")
+ .HasColumnName("TenantId");
+
+ b.HasKey("Id");
+
+ b.HasIndex("AuditLogId");
+
+ b.HasIndex("TenantId", "EntityTypeFullName", "EntityId");
+
+ b.ToTable("AbpEntityChanges", (string)null);
+ });
+
+ modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("char(36)");
+
+ b.Property("EntityChangeId")
+ .HasColumnType("char(36)");
+
+ b.Property("NewValue")
+ .HasMaxLength(512)
+ .HasColumnType("varchar(512)")
+ .HasColumnName("NewValue");
+
+ b.Property("OriginalValue")
+ .HasMaxLength(512)
+ .HasColumnType("varchar(512)")
+ .HasColumnName("OriginalValue");
+
+ b.Property("PropertyName")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)")
+ .HasColumnName("PropertyName");
+
+ b.Property("PropertyTypeFullName")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("varchar(64)")
+ .HasColumnName("PropertyTypeFullName");
+
+ b.Property("TenantId")
+ .HasColumnType("char(36)")
+ .HasColumnName("TenantId");
+
+ b.HasKey("Id");
+
+ b.HasIndex("EntityChangeId");
+
+ b.ToTable("AbpEntityPropertyChanges", (string)null);
+ });
+
+ modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b =>
+ {
+ b.HasOne("Volo.Abp.AuditLogging.AuditLog", null)
+ .WithMany("Actions")
+ .HasForeignKey("AuditLogId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b =>
+ {
+ b.HasOne("Volo.Abp.AuditLogging.AuditLog", null)
+ .WithMany("EntityChanges")
+ .HasForeignKey("AuditLogId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b =>
+ {
+ b.HasOne("Volo.Abp.AuditLogging.EntityChange", null)
+ .WithMany("PropertyChanges")
+ .HasForeignKey("EntityChangeId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b =>
+ {
+ b.Navigation("Actions");
+
+ b.Navigation("EntityChanges");
+ });
+
+ modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b =>
+ {
+ b.Navigation("PropertyChanges");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/aspnet-core/modules/AuditLoggingManagement/host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host/Migrations/20220302122446_Init.cs b/aspnet-core/modules/AuditLoggingManagement/host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host/Migrations/20220302122446_Init.cs
new file mode 100644
index 00000000..cc866d93
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host/Migrations/20220302122446_Init.cs
@@ -0,0 +1,203 @@
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace Lion.AbpPro.AuditLoggingManagement.HttpApi.Host.Migrations
+{
+ public partial class Init : Migration
+ {
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.AlterDatabase()
+ .Annotation("MySql:CharSet", "utf8mb4");
+
+ migrationBuilder.CreateTable(
+ name: "AbpAuditLogs",
+ columns: table => new
+ {
+ Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
+ ApplicationName = table.Column(type: "varchar(96)", maxLength: 96, nullable: true)
+ .Annotation("MySql:CharSet", "utf8mb4"),
+ UserId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
+ UserName = table.Column(type: "varchar(256)", maxLength: 256, nullable: true)
+ .Annotation("MySql:CharSet", "utf8mb4"),
+ TenantId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
+ TenantName = table.Column(type: "varchar(64)", maxLength: 64, nullable: true)
+ .Annotation("MySql:CharSet", "utf8mb4"),
+ ImpersonatorUserId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
+ ImpersonatorUserName = table.Column(type: "varchar(256)", maxLength: 256, nullable: true)
+ .Annotation("MySql:CharSet", "utf8mb4"),
+ ImpersonatorTenantId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
+ ImpersonatorTenantName = table.Column(type: "varchar(64)", maxLength: 64, nullable: true)
+ .Annotation("MySql:CharSet", "utf8mb4"),
+ ExecutionTime = table.Column(type: "datetime(6)", nullable: false),
+ ExecutionDuration = table.Column(type: "int", nullable: false),
+ ClientIpAddress = table.Column(type: "varchar(64)", maxLength: 64, nullable: true)
+ .Annotation("MySql:CharSet", "utf8mb4"),
+ ClientName = table.Column(type: "varchar(128)", maxLength: 128, nullable: true)
+ .Annotation("MySql:CharSet", "utf8mb4"),
+ ClientId = table.Column(type: "varchar(64)", maxLength: 64, nullable: true)
+ .Annotation("MySql:CharSet", "utf8mb4"),
+ CorrelationId = table.Column(type: "varchar(64)", maxLength: 64, nullable: true)
+ .Annotation("MySql:CharSet", "utf8mb4"),
+ BrowserInfo = table.Column(type: "varchar(512)", maxLength: 512, nullable: true)
+ .Annotation("MySql:CharSet", "utf8mb4"),
+ HttpMethod = table.Column(type: "varchar(16)", maxLength: 16, nullable: true)
+ .Annotation("MySql:CharSet", "utf8mb4"),
+ Url = table.Column(type: "varchar(256)", maxLength: 256, nullable: true)
+ .Annotation("MySql:CharSet", "utf8mb4"),
+ Exceptions = table.Column(type: "longtext", nullable: true)
+ .Annotation("MySql:CharSet", "utf8mb4"),
+ Comments = table.Column(type: "varchar(256)", maxLength: 256, nullable: true)
+ .Annotation("MySql:CharSet", "utf8mb4"),
+ HttpStatusCode = table.Column(type: "int", nullable: true),
+ ExtraProperties = table.Column(type: "longtext", nullable: true)
+ .Annotation("MySql:CharSet", "utf8mb4"),
+ ConcurrencyStamp = table.Column(type: "varchar(40)", maxLength: 40, nullable: true)
+ .Annotation("MySql:CharSet", "utf8mb4")
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_AbpAuditLogs", x => x.Id);
+ })
+ .Annotation("MySql:CharSet", "utf8mb4");
+
+ migrationBuilder.CreateTable(
+ name: "AbpAuditLogActions",
+ columns: table => new
+ {
+ Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
+ TenantId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
+ AuditLogId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
+ ServiceName = table.Column(type: "varchar(256)", maxLength: 256, nullable: true)
+ .Annotation("MySql:CharSet", "utf8mb4"),
+ MethodName = table.Column(type: "varchar(128)", maxLength: 128, nullable: true)
+ .Annotation("MySql:CharSet", "utf8mb4"),
+ Parameters = table.Column(type: "varchar(2000)", maxLength: 2000, nullable: true)
+ .Annotation("MySql:CharSet", "utf8mb4"),
+ ExecutionTime = table.Column(type: "datetime(6)", nullable: false),
+ ExecutionDuration = table.Column(type: "int", nullable: false),
+ ExtraProperties = table.Column(type: "longtext", nullable: true)
+ .Annotation("MySql:CharSet", "utf8mb4")
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_AbpAuditLogActions", x => x.Id);
+ table.ForeignKey(
+ name: "FK_AbpAuditLogActions_AbpAuditLogs_AuditLogId",
+ column: x => x.AuditLogId,
+ principalTable: "AbpAuditLogs",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ })
+ .Annotation("MySql:CharSet", "utf8mb4");
+
+ migrationBuilder.CreateTable(
+ name: "AbpEntityChanges",
+ columns: table => new
+ {
+ Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
+ AuditLogId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
+ TenantId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
+ ChangeTime = table.Column(type: "datetime(6)", nullable: false),
+ ChangeType = table.Column(type: "tinyint unsigned", nullable: false),
+ EntityTenantId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
+ EntityId = table.Column(type: "varchar(128)", maxLength: 128, nullable: false)
+ .Annotation("MySql:CharSet", "utf8mb4"),
+ EntityTypeFullName = table.Column(type: "varchar(128)", maxLength: 128, nullable: false)
+ .Annotation("MySql:CharSet", "utf8mb4"),
+ ExtraProperties = table.Column(type: "longtext", nullable: true)
+ .Annotation("MySql:CharSet", "utf8mb4")
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_AbpEntityChanges", x => x.Id);
+ table.ForeignKey(
+ name: "FK_AbpEntityChanges_AbpAuditLogs_AuditLogId",
+ column: x => x.AuditLogId,
+ principalTable: "AbpAuditLogs",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ })
+ .Annotation("MySql:CharSet", "utf8mb4");
+
+ migrationBuilder.CreateTable(
+ name: "AbpEntityPropertyChanges",
+ columns: table => new
+ {
+ Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
+ TenantId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
+ EntityChangeId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
+ NewValue = table.Column(type: "varchar(512)", maxLength: 512, nullable: true)
+ .Annotation("MySql:CharSet", "utf8mb4"),
+ OriginalValue = table.Column(type: "varchar(512)", maxLength: 512, nullable: true)
+ .Annotation("MySql:CharSet", "utf8mb4"),
+ PropertyName = table.Column(type: "varchar(128)", maxLength: 128, nullable: false)
+ .Annotation("MySql:CharSet", "utf8mb4"),
+ PropertyTypeFullName = table.Column(type: "varchar(64)", maxLength: 64, nullable: false)
+ .Annotation("MySql:CharSet", "utf8mb4")
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_AbpEntityPropertyChanges", x => x.Id);
+ table.ForeignKey(
+ name: "FK_AbpEntityPropertyChanges_AbpEntityChanges_EntityChangeId",
+ column: x => x.EntityChangeId,
+ principalTable: "AbpEntityChanges",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ })
+ .Annotation("MySql:CharSet", "utf8mb4");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_AbpAuditLogActions_AuditLogId",
+ table: "AbpAuditLogActions",
+ column: "AuditLogId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_AbpAuditLogActions_TenantId_ServiceName_MethodName_Execution~",
+ table: "AbpAuditLogActions",
+ columns: new[] { "TenantId", "ServiceName", "MethodName", "ExecutionTime" });
+
+ migrationBuilder.CreateIndex(
+ name: "IX_AbpAuditLogs_TenantId_ExecutionTime",
+ table: "AbpAuditLogs",
+ columns: new[] { "TenantId", "ExecutionTime" });
+
+ migrationBuilder.CreateIndex(
+ name: "IX_AbpAuditLogs_TenantId_UserId_ExecutionTime",
+ table: "AbpAuditLogs",
+ columns: new[] { "TenantId", "UserId", "ExecutionTime" });
+
+ migrationBuilder.CreateIndex(
+ name: "IX_AbpEntityChanges_AuditLogId",
+ table: "AbpEntityChanges",
+ column: "AuditLogId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_AbpEntityChanges_TenantId_EntityTypeFullName_EntityId",
+ table: "AbpEntityChanges",
+ columns: new[] { "TenantId", "EntityTypeFullName", "EntityId" });
+
+ migrationBuilder.CreateIndex(
+ name: "IX_AbpEntityPropertyChanges_EntityChangeId",
+ table: "AbpEntityPropertyChanges",
+ column: "EntityChangeId");
+ }
+
+ protected override void Down(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.DropTable(
+ name: "AbpAuditLogActions");
+
+ migrationBuilder.DropTable(
+ name: "AbpEntityPropertyChanges");
+
+ migrationBuilder.DropTable(
+ name: "AbpEntityChanges");
+
+ migrationBuilder.DropTable(
+ name: "AbpAuditLogs");
+ }
+ }
+}
diff --git a/aspnet-core/modules/AuditLoggingManagement/host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host/Migrations/AuditLoggingManagementHttpApiHostMigrationsDbContextModelSnapshot.cs b/aspnet-core/modules/AuditLoggingManagement/host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host/Migrations/AuditLoggingManagementHttpApiHostMigrationsDbContextModelSnapshot.cs
new file mode 100644
index 00000000..b0e258f0
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host/Migrations/AuditLoggingManagementHttpApiHostMigrationsDbContextModelSnapshot.cs
@@ -0,0 +1,323 @@
+//
+using System;
+using Lion.AbpPro.AuditLoggingManagement.HttpApi.Host.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Volo.Abp.EntityFrameworkCore;
+
+#nullable disable
+
+namespace Lion.AbpPro.AuditLoggingManagement.HttpApi.Host.Migrations
+{
+ [DbContext(typeof(AuditLoggingManagementHttpApiHostMigrationsDbContext))]
+ partial class AuditLoggingManagementHttpApiHostMigrationsDbContextModelSnapshot : ModelSnapshot
+ {
+ protected override void BuildModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.MySql)
+ .HasAnnotation("ProductVersion", "6.0.2")
+ .HasAnnotation("Relational:MaxIdentifierLength", 64);
+
+ modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("char(36)");
+
+ b.Property("ApplicationName")
+ .HasMaxLength(96)
+ .HasColumnType("varchar(96)")
+ .HasColumnName("ApplicationName");
+
+ b.Property("BrowserInfo")
+ .HasMaxLength(512)
+ .HasColumnType("varchar(512)")
+ .HasColumnName("BrowserInfo");
+
+ b.Property("ClientId")
+ .HasMaxLength(64)
+ .HasColumnType("varchar(64)")
+ .HasColumnName("ClientId");
+
+ b.Property("ClientIpAddress")
+ .HasMaxLength(64)
+ .HasColumnType("varchar(64)")
+ .HasColumnName("ClientIpAddress");
+
+ b.Property("ClientName")
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)")
+ .HasColumnName("ClientName");
+
+ b.Property("Comments")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasColumnName("Comments");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("varchar(40)")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("CorrelationId")
+ .HasMaxLength(64)
+ .HasColumnType("varchar(64)")
+ .HasColumnName("CorrelationId");
+
+ b.Property("Exceptions")
+ .HasColumnType("longtext");
+
+ b.Property("ExecutionDuration")
+ .HasColumnType("int")
+ .HasColumnName("ExecutionDuration");
+
+ b.Property("ExecutionTime")
+ .HasColumnType("datetime(6)");
+
+ b.Property("ExtraProperties")
+ .HasColumnType("longtext")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("HttpMethod")
+ .HasMaxLength(16)
+ .HasColumnType("varchar(16)")
+ .HasColumnName("HttpMethod");
+
+ b.Property("HttpStatusCode")
+ .HasColumnType("int")
+ .HasColumnName("HttpStatusCode");
+
+ b.Property("ImpersonatorTenantId")
+ .HasColumnType("char(36)")
+ .HasColumnName("ImpersonatorTenantId");
+
+ b.Property("ImpersonatorTenantName")
+ .HasMaxLength(64)
+ .HasColumnType("varchar(64)")
+ .HasColumnName("ImpersonatorTenantName");
+
+ b.Property("ImpersonatorUserId")
+ .HasColumnType("char(36)")
+ .HasColumnName("ImpersonatorUserId");
+
+ b.Property("ImpersonatorUserName")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasColumnName("ImpersonatorUserName");
+
+ b.Property("TenantId")
+ .HasColumnType("char(36)")
+ .HasColumnName("TenantId");
+
+ b.Property("TenantName")
+ .HasMaxLength(64)
+ .HasColumnType("varchar(64)")
+ .HasColumnName("TenantName");
+
+ b.Property("Url")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasColumnName("Url");
+
+ b.Property("UserId")
+ .HasColumnType("char(36)")
+ .HasColumnName("UserId");
+
+ b.Property("UserName")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasColumnName("UserName");
+
+ b.HasKey("Id");
+
+ b.HasIndex("TenantId", "ExecutionTime");
+
+ b.HasIndex("TenantId", "UserId", "ExecutionTime");
+
+ b.ToTable("AbpAuditLogs", (string)null);
+ });
+
+ modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("char(36)");
+
+ b.Property("AuditLogId")
+ .HasColumnType("char(36)")
+ .HasColumnName("AuditLogId");
+
+ b.Property("ExecutionDuration")
+ .HasColumnType("int")
+ .HasColumnName("ExecutionDuration");
+
+ b.Property("ExecutionTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("ExecutionTime");
+
+ b.Property("ExtraProperties")
+ .HasColumnType("longtext")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("MethodName")
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)")
+ .HasColumnName("MethodName");
+
+ b.Property("Parameters")
+ .HasMaxLength(2000)
+ .HasColumnType("varchar(2000)")
+ .HasColumnName("Parameters");
+
+ b.Property("ServiceName")
+ .HasMaxLength(256)
+ .HasColumnType("varchar(256)")
+ .HasColumnName("ServiceName");
+
+ b.Property("TenantId")
+ .HasColumnType("char(36)")
+ .HasColumnName("TenantId");
+
+ b.HasKey("Id");
+
+ b.HasIndex("AuditLogId");
+
+ b.HasIndex("TenantId", "ServiceName", "MethodName", "ExecutionTime");
+
+ b.ToTable("AbpAuditLogActions", (string)null);
+ });
+
+ modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("char(36)");
+
+ b.Property("AuditLogId")
+ .HasColumnType("char(36)")
+ .HasColumnName("AuditLogId");
+
+ b.Property("ChangeTime")
+ .HasColumnType("datetime(6)")
+ .HasColumnName("ChangeTime");
+
+ b.Property("ChangeType")
+ .HasColumnType("tinyint unsigned")
+ .HasColumnName("ChangeType");
+
+ b.Property("EntityId")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)")
+ .HasColumnName("EntityId");
+
+ b.Property("EntityTenantId")
+ .HasColumnType("char(36)");
+
+ b.Property("EntityTypeFullName")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)")
+ .HasColumnName("EntityTypeFullName");
+
+ b.Property("ExtraProperties")
+ .HasColumnType("longtext")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("TenantId")
+ .HasColumnType("char(36)")
+ .HasColumnName("TenantId");
+
+ b.HasKey("Id");
+
+ b.HasIndex("AuditLogId");
+
+ b.HasIndex("TenantId", "EntityTypeFullName", "EntityId");
+
+ b.ToTable("AbpEntityChanges", (string)null);
+ });
+
+ modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("char(36)");
+
+ b.Property("EntityChangeId")
+ .HasColumnType("char(36)");
+
+ b.Property("NewValue")
+ .HasMaxLength(512)
+ .HasColumnType("varchar(512)")
+ .HasColumnName("NewValue");
+
+ b.Property("OriginalValue")
+ .HasMaxLength(512)
+ .HasColumnType("varchar(512)")
+ .HasColumnName("OriginalValue");
+
+ b.Property("PropertyName")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("varchar(128)")
+ .HasColumnName("PropertyName");
+
+ b.Property("PropertyTypeFullName")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("varchar(64)")
+ .HasColumnName("PropertyTypeFullName");
+
+ b.Property("TenantId")
+ .HasColumnType("char(36)")
+ .HasColumnName("TenantId");
+
+ b.HasKey("Id");
+
+ b.HasIndex("EntityChangeId");
+
+ b.ToTable("AbpEntityPropertyChanges", (string)null);
+ });
+
+ modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b =>
+ {
+ b.HasOne("Volo.Abp.AuditLogging.AuditLog", null)
+ .WithMany("Actions")
+ .HasForeignKey("AuditLogId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b =>
+ {
+ b.HasOne("Volo.Abp.AuditLogging.AuditLog", null)
+ .WithMany("EntityChanges")
+ .HasForeignKey("AuditLogId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b =>
+ {
+ b.HasOne("Volo.Abp.AuditLogging.EntityChange", null)
+ .WithMany("PropertyChanges")
+ .HasForeignKey("EntityChangeId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b =>
+ {
+ b.Navigation("Actions");
+
+ b.Navigation("EntityChanges");
+ });
+
+ modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b =>
+ {
+ b.Navigation("PropertyChanges");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/aspnet-core/modules/AuditLoggingManagement/host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host/Program.cs b/aspnet-core/modules/AuditLoggingManagement/host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host/Program.cs
new file mode 100644
index 00000000..cfbc1d89
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host/Program.cs
@@ -0,0 +1,48 @@
+using Lion.AbpPro.AuditLoggingManagement.HttpApi.Host;
+using Serilog;
+using Serilog.Events;
+
+public class Program
+{
+ public static int Main(string[] args)
+ {
+ Log.Logger = new LoggerConfiguration()
+#if DEBUG
+ .MinimumLevel.Debug()
+#else
+ .MinimumLevel.Information()
+#endif
+ .MinimumLevel.Override("Microsoft", LogEventLevel.Information)
+ .Enrich.FromLogContext()
+ .WriteTo.Async(c => c.File("Logs/logs.txt"))
+#if DEBUG
+ .WriteTo.Async(c => c.Console())
+#endif
+ .CreateLogger();
+
+ try
+ {
+ Log.Information("Starting web host.");
+ CreateHostBuilder(args).Build().Run();
+ return 0;
+ }
+ catch (Exception ex)
+ {
+ Log.Fatal(ex, "Host terminated unexpectedly!");
+ return 1;
+ }
+ finally
+ {
+ Log.CloseAndFlush();
+ }
+ }
+
+ internal static IHostBuilder CreateHostBuilder(string[] args) =>
+ Host.CreateDefaultBuilder(args)
+ .ConfigureWebHostDefaults(webBuilder =>
+ {
+ webBuilder.UseStartup();
+ })
+ .UseAutofac()
+ .UseSerilog();
+}
\ No newline at end of file
diff --git a/aspnet-core/modules/AuditLoggingManagement/host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host/Properties/launchSettings.json b/aspnet-core/modules/AuditLoggingManagement/host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host/Properties/launchSettings.json
new file mode 100644
index 00000000..d45cf9a0
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host/Properties/launchSettings.json
@@ -0,0 +1,14 @@
+{
+ "profiles": {
+ "Lion.AbpPro.AuditLoggingManagement.HttpApi.Host": {
+ "commandName": "Project",
+ "dotnetRunMessages": true,
+ "launchBrowser": true,
+ "launchUrl": "swagger",
+ "applicationUrl": "http://localhost:5105",
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
+ }
+ }
+}
diff --git a/aspnet-core/modules/AuditLoggingManagement/host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host/Startup.cs b/aspnet-core/modules/AuditLoggingManagement/host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host/Startup.cs
new file mode 100644
index 00000000..d225844d
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host/Startup.cs
@@ -0,0 +1,15 @@
+namespace Lion.AbpPro.AuditLoggingManagement.HttpApi.Host
+{
+ public class Startup
+ {
+ public void ConfigureServices(IServiceCollection services)
+ {
+ services.AddApplication();
+ }
+
+ public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory)
+ {
+ app.InitializeApplication();
+ }
+ }
+}
diff --git a/aspnet-core/modules/AuditLoggingManagement/host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host/appsettings.Development.json b/aspnet-core/modules/AuditLoggingManagement/host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host/appsettings.Development.json
new file mode 100644
index 00000000..10baeb11
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host/appsettings.Development.json
@@ -0,0 +1,11 @@
+{
+ "Logging": {
+ "LogLevel": {
+ "Default": "Information",
+ "Microsoft.AspNetCore": "Warning"
+ }
+ },
+ "ConnectionStrings": {
+ "AbpAuditLogging": "Data Source=localhost;Port=3306;Database=AuditLoggingManagement;uid=root;pwd=1234;charset=utf8mb4;Allow User Variables=true;AllowLoadLocalInfile=true"
+ }
+}
diff --git a/aspnet-core/modules/AuditLoggingManagement/host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host/appsettings.json b/aspnet-core/modules/AuditLoggingManagement/host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host/appsettings.json
new file mode 100644
index 00000000..ac02ef26
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/host/Lion.AbpPro.AuditLoggingManagement.HttpApi.Host/appsettings.json
@@ -0,0 +1,12 @@
+{
+ "Logging": {
+ "LogLevel": {
+ "Default": "Information",
+ "Microsoft.AspNetCore": "Warning"
+ }
+ },
+ "ConnectionStrings": {
+ "AbpAuditLogging": "Data Source=localhost;Port=3306;Database=AuditLoggingManagement;uid=root;pwd=1234;charset=utf8mb4;Allow User Variables=true;AllowLoadLocalInfile=true"
+ },
+ "AllowedHosts": "*"
+}
diff --git a/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application.Contracts/AuditLoggingManagementApplicationContractsModule.cs b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application.Contracts/AuditLoggingManagementApplicationContractsModule.cs
new file mode 100644
index 00000000..7a37a685
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application.Contracts/AuditLoggingManagementApplicationContractsModule.cs
@@ -0,0 +1,18 @@
+using Lion.AbpPro.AuditLoggingManagement.Domain.Shared;
+using Volo.Abp.Application;
+using Volo.Abp.AuditLogging;
+using Volo.Abp.Authorization;
+using Volo.Abp.Modularity;
+
+namespace Lion.AbpPro.AuditLoggingManagement
+{
+ [DependsOn(
+ typeof(AuditLoggManagementDomainSharedModule),
+ typeof(AbpAuditLoggingDomainSharedModule),
+ typeof(AbpDddApplicationContractsModule),
+ typeof(AbpAuthorizationAbstractionsModule)
+ )]
+ public class AuditLoggingManagementApplicationContractsModule : AbpModule
+ {
+ }
+}
diff --git a/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application.Contracts/AuditLogs/Dtos/AuditLogActionOutput.cs b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application.Contracts/AuditLogs/Dtos/AuditLogActionOutput.cs
new file mode 100644
index 00000000..cc97d1c1
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application.Contracts/AuditLogs/Dtos/AuditLogActionOutput.cs
@@ -0,0 +1,19 @@
+namespace Lion.AbpPro.AuditLoggingManagement.AuditLogs.Dtos
+{
+ public class AuditLogActionOutput
+ {
+ public Guid? Id { set; get; }
+
+ public Guid? TenantId { set; get; }
+
+ public string ServiceName { set; get; }
+
+ public string MethodName { set; get; }
+
+ public string Parameters { set; get; }
+
+ public DateTime ExecutionTime { set; get; }
+
+ public int ExecutionDuration { set; get; }
+ }
+}
diff --git a/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application.Contracts/AuditLogs/Dtos/AuditLogOutput.cs b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application.Contracts/AuditLogs/Dtos/AuditLogOutput.cs
new file mode 100644
index 00000000..d0665b54
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application.Contracts/AuditLogs/Dtos/AuditLogOutput.cs
@@ -0,0 +1,39 @@
+namespace Lion.AbpPro.AuditLoggingManagement.AuditLogs.Dtos
+{
+ public class AuditLogOutput
+ {
+ public Guid Id { set; get; }
+
+ public string ApplicationName { get; set; }
+
+ public Guid? UserId { get; set; }
+
+ public string UserName { get; set; }
+
+ public Guid? TenantId { get; set; }
+
+ public string TenantName { get; set; }
+
+ public DateTime ExecutionTime { get; set; }
+
+ public int ExecutionDuration { get; set; }
+
+ public string ClientIpAddress { get; set; }
+
+ public string ClientName { get; set; }
+
+ public string CorrelationId { get; set; }
+
+ public string HttpMethod { get; set; }
+
+ public string Url { get; set; }
+
+ public string Exceptions { get; set; }
+
+ public int? HttpStatusCode { get; set; }
+
+ //public ICollection EntityChanges { get; set; }
+
+ public ICollection Actions { get; set; }
+ }
+}
diff --git a/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application.Contracts/AuditLogs/Dtos/EntityChangeOutput.cs b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application.Contracts/AuditLogs/Dtos/EntityChangeOutput.cs
new file mode 100644
index 00000000..75220a31
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application.Contracts/AuditLogs/Dtos/EntityChangeOutput.cs
@@ -0,0 +1,31 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Auditing;
+using Volo.Abp.Data;
+
+namespace Lion.AbpPro.AuditLoggingManagement.AuditLogs.Dtos
+{
+ public class EntityChangeOutput
+ {
+ public Guid AuditLogId { get; set; }
+
+ public Guid? TenantId { get; set; }
+
+ public DateTime ChangeTime { get; set; }
+
+ public EntityChangeType ChangeType { get; set; }
+
+ public Guid? EntityTenantId { get; set; }
+
+ public string EntityId { get; set; }
+
+ public string EntityTypeFullName { get; set; }
+
+ public ICollection PropertyChanges { get; set; }
+
+ public ExtraPropertyDictionary ExtraProperties { get; set; }
+ }
+}
diff --git a/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application.Contracts/AuditLogs/Dtos/EntityPropertyChangeOutput.cs b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application.Contracts/AuditLogs/Dtos/EntityPropertyChangeOutput.cs
new file mode 100644
index 00000000..3c8d09f9
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application.Contracts/AuditLogs/Dtos/EntityPropertyChangeOutput.cs
@@ -0,0 +1,23 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Lion.AbpPro.AuditLoggingManagement.AuditLogs.Dtos
+{
+ public class EntityPropertyChangeOutput
+ {
+ public Guid? TenantId { get; set; }
+
+ public Guid EntityChangeId { get; set; }
+
+ public string NewValue { get; set; }
+
+ public string OriginalValue { get; set; }
+
+ public string PropertyName { get; set; }
+
+ public string PropertyTypeFullName { get; set; }
+ }
+}
diff --git a/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application.Contracts/AuditLogs/Dtos/GetAuditLogsInput.cs b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application.Contracts/AuditLogs/Dtos/GetAuditLogsInput.cs
new file mode 100644
index 00000000..67699353
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application.Contracts/AuditLogs/Dtos/GetAuditLogsInput.cs
@@ -0,0 +1,41 @@
+using System.Net;
+
+namespace Lion.AbpPro.AuditLoggingManagement.AuditLogs.Dtos
+{
+ public class GetAuditLogsInput
+ {
+ public string Sorting { get; set; }
+
+ public int MaxResultCount { get; set; } = 50;
+
+ public int SkipCount { get; set; } = 0;
+
+ public DateTime? StartExecutionTime { get; set; }
+
+ public DateTime? EndExecutionTime { get; set; }
+
+ public string HttpMethod { get; set; }
+
+ public string Url { get; set; }
+
+ public Guid? UserId { get; set; }
+
+ public string UserName { get; set; }
+
+ public string ApplicationName { get; set; }
+
+ public string ClientIpAddress { get; set; }
+
+ public string CorrelationId { get; set; }
+
+ public int? MaxExecutionDuration { get; set; }
+
+ public int? MinExecutionDuration { get; set; }
+
+ public bool? HasException { get; set; }
+
+ public HttpStatusCode? HttpStatusCode { get; set;}
+
+ public bool IncludeDetails { get; set; } = true;
+ }
+}
diff --git a/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application.Contracts/AuditLogs/Dtos/GetEntityChangesInput.cs b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application.Contracts/AuditLogs/Dtos/GetEntityChangesInput.cs
new file mode 100644
index 00000000..e9630807
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application.Contracts/AuditLogs/Dtos/GetEntityChangesInput.cs
@@ -0,0 +1,32 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Auditing;
+
+namespace Lion.AbpPro.AuditLoggingManagement.AuditLogs.Dtos
+{
+ public class GetEntityChangesInput
+ {
+ public string Sorting { set; get; }
+
+ public int MaxResultCount { set; get; } = 50;
+
+ public int SkipCount { set; get; } = 0;
+
+ public Guid? AuditLogId { set; get; }
+
+ public DateTime? StartTime { set; get; }
+
+ public DateTime? SndTime { set; get; }
+
+ public EntityChangeType? ChangeType { set; get; }
+
+ public string EntityId { set; get; }
+
+ public string EntityTypeFullName { set; get; }
+
+ public bool IncludeDetails { set; get; } = true;
+ }
+}
diff --git a/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application.Contracts/AuditLogs/IAuditLogAppService.cs b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application.Contracts/AuditLogs/IAuditLogAppService.cs
new file mode 100644
index 00000000..583b3207
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application.Contracts/AuditLogs/IAuditLogAppService.cs
@@ -0,0 +1,17 @@
+using Lion.AbpPro.AuditLoggingManagement.AuditLogs.Dtos;
+using Volo.Abp.Application.Dtos;
+using Volo.Abp.Application.Services;
+
+namespace Lion.AbpPro.AuditLoggingManagement.AuditLogs
+{
+ public interface IAuditLogAppService : IApplicationService
+ {
+ Task> GetPageListAsync(GetAuditLogsInput input, CancellationToken cancellationToken = default);
+
+ Task> GetEntityChangePageListAsync(GetEntityChangesInput input, CancellationToken cancellationToken = default);
+
+ Task GetAsync(Guid id, CancellationToken cancellationToken = default);
+
+ Task DeleteAsync(Guid id, CancellationToken cancellationToken = default);
+ }
+}
diff --git a/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application.Contracts/Lion.AbpPro.AuditLoggingManagement.Application.Contracts.csproj b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application.Contracts/Lion.AbpPro.AuditLoggingManagement.Application.Contracts.csproj
new file mode 100644
index 00000000..af974c4c
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application.Contracts/Lion.AbpPro.AuditLoggingManagement.Application.Contracts.csproj
@@ -0,0 +1,20 @@
+
+
+
+
+ net6.0
+ enable
+ Lion.AbpPro.AuditLoggingManagement
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application.Contracts/Permissions/AuditLogManagementPermissionDefinitionProvider.cs b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application.Contracts/Permissions/AuditLogManagementPermissionDefinitionProvider.cs
new file mode 100644
index 00000000..9b9f50b2
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application.Contracts/Permissions/AuditLogManagementPermissionDefinitionProvider.cs
@@ -0,0 +1,24 @@
+using Lion.AbpPro.AuditLoggingManagement.Domain.Shared.Localization;
+using Volo.Abp.Authorization.Permissions;
+using Volo.Abp.Localization;
+
+namespace Lion.AbpPro.AuditLoggingManagement.Permissions
+{
+ public class AuditLogManagementPermissionDefinitionProvider : PermissionDefinitionProvider
+ {
+ public const string GroupName = "AuditLogManagement";
+
+ public override void Define(IPermissionDefinitionContext context)
+ {
+ var auditLogsGroup = context.AddGroup(GroupName, L("AuditLogManagement"));
+
+ var auditLogs = auditLogsGroup.AddPermission(AuditLogManagementPermissions.AuditLogs.Default, L("Permission:AuditLogManagement.AuditLogs"));
+ auditLogs.AddChild(AuditLogManagementPermissions.AuditLogs.Delete, L("Permission:AuditLogManagement.AuditLogs.Delete"));
+ }
+
+ private static LocalizableString L(string name)
+ {
+ return LocalizableString.Create(name);
+ }
+ }
+}
diff --git a/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application.Contracts/Permissions/AuditLogManagementPermissions.cs b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application.Contracts/Permissions/AuditLogManagementPermissions.cs
new file mode 100644
index 00000000..7547dd70
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application.Contracts/Permissions/AuditLogManagementPermissions.cs
@@ -0,0 +1,21 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Lion.AbpPro.AuditLoggingManagement.Permissions
+{
+ public class AuditLogManagementPermissions
+ {
+ public const string GroupName = "AuditLogManagement";
+
+ public static class AuditLogs
+ {
+ public const string Default = GroupName + ".AuditLogs";
+ public const string Create = Default + ".Create";
+ public const string Update = Default + ".Update";
+ public const string Delete = Default + ".Delete";
+ }
+ }
+}
diff --git a/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application/AuditLoggingManagementAppServiceBase.cs b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application/AuditLoggingManagementAppServiceBase.cs
new file mode 100644
index 00000000..3ba36313
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application/AuditLoggingManagementAppServiceBase.cs
@@ -0,0 +1,14 @@
+using Lion.AbpPro.AuditLoggingManagement.Domain.Shared.Localization;
+using Volo.Abp.Application.Services;
+
+namespace Lion.AbpPro.AuditLoggingManagement
+{
+ public abstract class AuditLoggingManagementAppServiceBase : ApplicationService
+ {
+ protected AuditLoggingManagementAppServiceBase()
+ {
+ LocalizationResource = typeof(AuditLogManagementResource);
+ ObjectMapperContext = typeof(AuditLoggingManagementApplicationModule);
+ }
+ }
+}
\ No newline at end of file
diff --git a/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application/AuditLoggingManagementApplicationModule.cs b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application/AuditLoggingManagementApplicationModule.cs
new file mode 100644
index 00000000..8953a6e4
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application/AuditLoggingManagementApplicationModule.cs
@@ -0,0 +1,28 @@
+using Microsoft.Extensions.DependencyInjection;
+using Volo.Abp.Application;
+using Volo.Abp.AuditLogging;
+using Volo.Abp.Autofac;
+using Volo.Abp.AutoMapper;
+using Volo.Abp.Modularity;
+
+namespace Lion.AbpPro.AuditLoggingManagement
+{
+ [DependsOn(
+ typeof(AbpDddApplicationModule),
+ typeof(AbpAutofacModule),
+ typeof(AuditLoggingManagementApplicationContractsModule),
+ typeof(AbpAuditLoggingDomainModule),
+ typeof(AbpAutoMapperModule)
+ )]
+ public class AuditLoggingManagementApplicationModule : AbpModule
+ {
+ public override void ConfigureServices(ServiceConfigurationContext context)
+ {
+ context.Services.AddAutoMapperObjectMapper();
+ Configure(options =>
+ {
+ options.AddMaps();
+ });
+ }
+ }
+}
diff --git a/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application/AuditLogs/AuditLogAppService.cs b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application/AuditLogs/AuditLogAppService.cs
new file mode 100644
index 00000000..7890156a
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application/AuditLogs/AuditLogAppService.cs
@@ -0,0 +1,86 @@
+using Lion.AbpPro.AuditLoggingManagement.AuditLogs.Dtos;
+using Volo.Abp;
+using Volo.Abp.Application.Dtos;
+using Volo.Abp.AuditLogging;
+
+namespace Lion.AbpPro.AuditLoggingManagement.AuditLogs
+{
+ public class AuditLogAppService : AuditLoggingManagementAppServiceBase, IAuditLogAppService
+ {
+ private readonly IAuditLogRepository _auditLogRepository;
+
+ public AuditLogAppService(IAuditLogRepository auditLogRepository)
+ {
+ _auditLogRepository = auditLogRepository;
+ }
+
+ public async Task> GetPageListAsync(GetAuditLogsInput input, CancellationToken cancellationToken = default)
+ {
+ var auditLogs = await _auditLogRepository.GetListAsync(
+ input.Sorting,
+ input.MaxResultCount,
+ input.SkipCount,
+ input.StartExecutionTime,
+ input.EndExecutionTime,
+ input.HttpMethod,
+ input.Url,
+ input.UserId,
+ input.UserName,
+ input.ApplicationName,
+ input.ClientIpAddress,
+ input.CorrelationId,
+ input.MaxExecutionDuration,
+ input.MinExecutionDuration,
+ input.HasException,
+ input.HttpStatusCode,
+ input.IncludeDetails,
+ cancellationToken
+ );
+
+ var datas = ObjectMapper.Map, List>(auditLogs);
+ return new ListResultDto(datas);
+ }
+
+ public async Task GetAsync(Guid id, CancellationToken cancellationToken = default)
+ {
+ var auditLog = await _auditLogRepository.FindAsync(model => model.Id == id, cancellationToken: cancellationToken);
+ if (null == auditLog)
+ {
+ throw new UserFriendlyException(L["AuditLogNotFound", id]);
+ }
+
+ return ObjectMapper.Map(auditLog);
+ }
+
+ public async Task DeleteAsync(Guid id, CancellationToken cancellationToken = default)
+ {
+ var auditLog = await _auditLogRepository.FindAsync(model => model.Id == id, cancellationToken: cancellationToken);
+ if (null == auditLog)
+ {
+ throw new UserFriendlyException(L["AuditLogNotFound", id]);
+ }
+
+ await _auditLogRepository.DeleteAsync(auditLog, cancellationToken: cancellationToken);
+ }
+
+ public async Task> GetEntityChangePageListAsync(GetEntityChangesInput input, CancellationToken cancellationToken = default)
+ {
+ var entityChange = await _auditLogRepository.GetEntityChangeListAsync(
+ input.Sorting,
+ input.MaxResultCount,
+ input.SkipCount,
+ input.AuditLogId,
+ input.StartTime,
+ input.SndTime,
+ input.ChangeType,
+ input.EntityId,
+ input.EntityTypeFullName,
+ input.IncludeDetails,
+ cancellationToken);
+
+ var datas = ObjectMapper.Map, List>(entityChange);
+
+ return new ListResultDto(datas);
+ }
+ }
+}
diff --git a/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application/AuditLogs/Mappers/AuditLogApplicationAutoMapperProfile.cs b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application/AuditLogs/Mappers/AuditLogApplicationAutoMapperProfile.cs
new file mode 100644
index 00000000..2e0e741f
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application/AuditLogs/Mappers/AuditLogApplicationAutoMapperProfile.cs
@@ -0,0 +1,17 @@
+using AutoMapper;
+using Lion.AbpPro.AuditLoggingManagement.AuditLogs.Dtos;
+using Volo.Abp.AuditLogging;
+
+namespace Lion.AbpPro.AuditLoggingManagement.AuditLogs.Mappers
+{
+ public class AuditLogApplicationAutoMapperProfile : Profile
+ {
+ public AuditLogApplicationAutoMapperProfile()
+ {
+ CreateMap();
+ CreateMap();
+ CreateMap();
+ CreateMap();
+ }
+ }
+}
diff --git a/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application/Lion.AbpPro.AuditLoggingManagement.Application.csproj b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application/Lion.AbpPro.AuditLoggingManagement.Application.csproj
new file mode 100644
index 00000000..067742a3
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Application/Lion.AbpPro.AuditLoggingManagement.Application.csproj
@@ -0,0 +1,17 @@
+
+
+
+ net6.0
+ enable
+ Lion.AbpPro.AuditLoggingManagement
+
+
+
+
+
+
+
+
+
+
+
diff --git a/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Domain.Shared/AuditLogManagementDomainErrorCodes.cs b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Domain.Shared/AuditLogManagementDomainErrorCodes.cs
new file mode 100644
index 00000000..c3456ca4
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Domain.Shared/AuditLogManagementDomainErrorCodes.cs
@@ -0,0 +1,19 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Lion.AbpPro.AuditLoggingManagement.Domain.Shared
+{
+ public class AuditLogManagementDomainErrorCodes
+ {
+ public static class AuditLog
+ {
+ //public const string IdAlreadyExist = "DataDictionaryManagement:DataDictionary:0001";
+ //public const string IdNotExist = "DataDictionaryManagement:DataDictionary:0002";
+ //public const string CodeAlreadyExist = "DataDictionaryManagement:DataDictionary:0003";
+ //public const string CodeNotExist = "DataDictionaryManagement:DataDictionary:0004";
+ }
+ }
+}
diff --git a/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Domain.Shared/AuditLoggManagementDomainSharedModule.cs b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Domain.Shared/AuditLoggManagementDomainSharedModule.cs
new file mode 100644
index 00000000..3e086b4e
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Domain.Shared/AuditLoggManagementDomainSharedModule.cs
@@ -0,0 +1,39 @@
+using Lion.AbpPro.AuditLoggingManagement.Domain.Shared.Localization;
+using Volo.Abp.AuditLogging;
+using Volo.Abp.Localization;
+using Volo.Abp.Localization.ExceptionHandling;
+using Volo.Abp.Localization.Resources.AbpLocalization;
+using Volo.Abp.Modularity;
+using Volo.Abp.Validation;
+using Volo.Abp.Validation.Localization;
+using Volo.Abp.VirtualFileSystem;
+
+namespace Lion.AbpPro.AuditLoggingManagement.Domain.Shared
+{
+ [DependsOn(
+ typeof(AbpValidationModule),
+ typeof(AbpAuditLoggingDomainSharedModule)
+ )]
+ public class AuditLoggManagementDomainSharedModule : AbpModule
+ {
+ public override void ConfigureServices(ServiceConfigurationContext context)
+ {
+ Configure(options =>
+ {
+ options.FileSets.AddEmbedded(typeof(AuditLoggManagementDomainSharedModule).Namespace);
+ });
+
+ Configure(options =>
+ {
+ options.Resources
+ .Add("zh-Hans")
+ .AddVirtualJson("/Localization/AuditLogManagement");
+ });
+
+ Configure(options =>
+ {
+ options.MapCodeNamespace("AuditLogManagement", typeof(AuditLogManagementResource));
+ });
+ }
+ }
+}
\ No newline at end of file
diff --git a/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Domain.Shared/Lion.AbpPro.AuditLoggingManagement.Domain.Shared.csproj b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Domain.Shared/Lion.AbpPro.AuditLoggingManagement.Domain.Shared.csproj
new file mode 100644
index 00000000..4fabe799
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Domain.Shared/Lion.AbpPro.AuditLoggingManagement.Domain.Shared.csproj
@@ -0,0 +1,24 @@
+
+
+
+ net6.0
+ enable
+ enable
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Domain.Shared/Localization/AuditLogManagement/en.json b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Domain.Shared/Localization/AuditLogManagement/en.json
new file mode 100644
index 00000000..45a4f652
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Domain.Shared/Localization/AuditLogManagement/en.json
@@ -0,0 +1,6 @@
+{
+ "culture": "en",
+ "texts": {
+ "AuditLogNotFound": "AuditLog Id: {0} does not exist!"
+ }
+}
\ No newline at end of file
diff --git a/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Domain.Shared/Localization/AuditLogManagement/zh-Hans.json b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Domain.Shared/Localization/AuditLogManagement/zh-Hans.json
new file mode 100644
index 00000000..bec38b4a
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Domain.Shared/Localization/AuditLogManagement/zh-Hans.json
@@ -0,0 +1,6 @@
+{
+ "culture": "zh-Hans",
+ "texts": {
+ "AuditLogNotFound": "审计日志Id:{0}不存在"
+ }
+}
\ No newline at end of file
diff --git a/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Domain.Shared/Localization/AuditLogManagementResource.cs b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Domain.Shared/Localization/AuditLogManagementResource.cs
new file mode 100644
index 00000000..ef8cbdf2
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.Domain.Shared/Localization/AuditLogManagementResource.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Localization;
+
+namespace Lion.AbpPro.AuditLoggingManagement.Domain.Shared.Localization
+{
+ [LocalizationResourceName("AuditLogManagement")]
+ public class AuditLogManagementResource
+ {
+ }
+}
diff --git a/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.HttpApi.Client/AuditLoggingManagementHttpApiClientModule.cs b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.HttpApi.Client/AuditLoggingManagementHttpApiClientModule.cs
new file mode 100644
index 00000000..f2a73f71
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.HttpApi.Client/AuditLoggingManagementHttpApiClientModule.cs
@@ -0,0 +1,18 @@
+using Microsoft.Extensions.DependencyInjection;
+using Volo.Abp.Modularity;
+
+namespace Lion.AbpPro.AuditLoggingManagement
+{
+ public class AuditLoggingManagementHttpApiClientModule : AbpModule
+ {
+ public const string RemoteServiceName = "AuditLoggingManagement";
+
+ public override void ConfigureServices(ServiceConfigurationContext context)
+ {
+ context.Services.AddHttpClientProxies(
+ typeof(AuditLoggingManagementApplicationContractsModule).Assembly,
+ RemoteServiceName
+ );
+ }
+ }
+}
\ No newline at end of file
diff --git a/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.HttpApi.Client/Lion.AbpPro.AuditLoggingManagement.HttpApi.Client.csproj b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.HttpApi.Client/Lion.AbpPro.AuditLoggingManagement.HttpApi.Client.csproj
new file mode 100644
index 00000000..3320c753
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.HttpApi.Client/Lion.AbpPro.AuditLoggingManagement.HttpApi.Client.csproj
@@ -0,0 +1,16 @@
+
+
+
+ net6.0
+ enable
+ Lion.AbpPro.AuditLoggingManagement
+
+
+
+
+
+
+
+
+
+
diff --git a/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.HttpApi/AuditLoggingManagementHttpApiModule.cs b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.HttpApi/AuditLoggingManagementHttpApiModule.cs
new file mode 100644
index 00000000..8c847343
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.HttpApi/AuditLoggingManagementHttpApiModule.cs
@@ -0,0 +1,22 @@
+using Volo.Abp.AspNetCore.Mvc;
+using Volo.Abp.Localization;
+using Volo.Abp.Modularity;
+
+namespace Lion.AbpPro.AuditLoggingManagement
+{
+ [DependsOn(
+ typeof(AuditLoggingManagementApplicationContractsModule),
+ typeof(AbpAspNetCoreMvcModule))]
+ public class AuditLoggingManagementHttpApiModule : AbpModule
+ {
+ public override void ConfigureServices(ServiceConfigurationContext context)
+ {
+ Configure(options =>
+ {
+ //options.Resources
+ // .Get()
+ // .AddBaseTypes(typeof(AbpUiResource));
+ });
+ }
+ }
+}
diff --git a/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.HttpApi/AuditLogs/AuditLogController.cs b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.HttpApi/AuditLogs/AuditLogController.cs
new file mode 100644
index 00000000..9bdc770a
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.HttpApi/AuditLogs/AuditLogController.cs
@@ -0,0 +1,51 @@
+using Lion.AbpPro.AuditLoggingManagement.AuditLogs.Dtos;
+using Microsoft.AspNetCore.Mvc;
+using Swashbuckle.AspNetCore.Annotations;
+using Volo.Abp.Application.Dtos;
+using Volo.Abp.AspNetCore.Mvc;
+
+namespace Lion.AbpPro.AuditLoggingManagement.AuditLogs
+{
+ [Route("api/auditlog-management/auditlogs")]
+ public class AuditLogController : AbpController, IAuditLogAppService
+ {
+ private IAuditLogAppService _auditLogAppService;
+
+ public AuditLogController(IAuditLogAppService auditLogAppService)
+ {
+ _auditLogAppService = auditLogAppService;
+ }
+
+ [HttpPost]
+ [Route("delete/{id}")]
+ [SwaggerOperation(summary: "通过审计日志Id删除审计日志", Tags = new[] { "Auditlogs" })]
+ public async Task DeleteAsync(Guid id, CancellationToken cancellationToken = default)
+ {
+ await _auditLogAppService.DeleteAsync(id, cancellationToken);
+ }
+
+ [HttpPost]
+ [Route("page")]
+ [SwaggerOperation(summary: "分页获取审计日志", Tags = new[] { "Auditlogs" })]
+ public async Task> GetPageListAsync(GetAuditLogsInput input, CancellationToken cancellationToken = default)
+ {
+ return await _auditLogAppService.GetPageListAsync(input, cancellationToken);
+ }
+
+ [HttpPost]
+ [Route("detail/{id}")]
+ [SwaggerOperation(summary: "通过审计日志Id查找审计日志详情", Tags = new[] { "Auditlogs" })]
+ public async Task GetAsync(Guid id, CancellationToken cancellationToken = default)
+ {
+ return await _auditLogAppService.GetAsync(id, cancellationToken);
+ }
+
+ [HttpPost]
+ [Route("page-entity-changes")]
+ [SwaggerOperation(summary: "查询实体变化", Tags = new[] { "Auditlogs" })]
+ public async Task> GetEntityChangePageListAsync(GetEntityChangesInput input, CancellationToken cancellationToken = default)
+ {
+ return await _auditLogAppService.GetEntityChangePageListAsync(input, cancellationToken);
+ }
+ }
+}
diff --git a/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.HttpApi/Lion.AbpPro.AuditLoggingManagement.HttpApi.csproj b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.HttpApi/Lion.AbpPro.AuditLoggingManagement.HttpApi.csproj
new file mode 100644
index 00000000..573d44e5
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/src/Lion.AbpPro.AuditLoggingManagement.HttpApi/Lion.AbpPro.AuditLoggingManagement.HttpApi.csproj
@@ -0,0 +1,18 @@
+
+
+
+ net6.0
+ enable
+ Lion.AbpPro.AuditLoggingManagement
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/aspnet-core/modules/AuditLoggingManagement/test/Lion.AbpPro.AuditLoggingManagement.Application.Tests/Lion.AbpPro.AuditLoggingManagement.Application.Tests.csproj b/aspnet-core/modules/AuditLoggingManagement/test/Lion.AbpPro.AuditLoggingManagement.Application.Tests/Lion.AbpPro.AuditLoggingManagement.Application.Tests.csproj
new file mode 100644
index 00000000..99e24b55
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/test/Lion.AbpPro.AuditLoggingManagement.Application.Tests/Lion.AbpPro.AuditLoggingManagement.Application.Tests.csproj
@@ -0,0 +1,23 @@
+
+
+
+ net6.0
+ enable
+
+ false
+
+
+
+
+
+
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+ all
+
+
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+ all
+
+
+
+
diff --git a/aspnet-core/modules/AuditLoggingManagement/test/Lion.AbpPro.AuditLoggingManagement.Application.Tests/UnitTest1.cs b/aspnet-core/modules/AuditLoggingManagement/test/Lion.AbpPro.AuditLoggingManagement.Application.Tests/UnitTest1.cs
new file mode 100644
index 00000000..800d81c3
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/test/Lion.AbpPro.AuditLoggingManagement.Application.Tests/UnitTest1.cs
@@ -0,0 +1,13 @@
+using Xunit;
+
+namespace Lion.AbpPro.AuditLoggingManagement.Application.Tests
+{
+ public class UnitTest1
+ {
+ [Fact]
+ public void Test1()
+ {
+
+ }
+ }
+}
\ No newline at end of file
diff --git a/aspnet-core/modules/AuditLoggingManagement/test/Lion.AbpPro.AuditLoggingManagement.TestBase/Lion.AbpPro.AuditLoggingManagement.TestBase.csproj b/aspnet-core/modules/AuditLoggingManagement/test/Lion.AbpPro.AuditLoggingManagement.TestBase/Lion.AbpPro.AuditLoggingManagement.TestBase.csproj
new file mode 100644
index 00000000..99e24b55
--- /dev/null
+++ b/aspnet-core/modules/AuditLoggingManagement/test/Lion.AbpPro.AuditLoggingManagement.TestBase/Lion.AbpPro.AuditLoggingManagement.TestBase.csproj
@@ -0,0 +1,23 @@
+
+
+
+ net6.0
+ enable
+
+ false
+
+
+
+
+
+
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+ all
+
+
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+ all
+
+
+
+