Browse Source

feat(host): 添加 Hangfire 支持,并启用仪表盘

为应用添加后台任务调度框架 Hangfire,并启用其仪表盘,以便监视和管理后台任务。
pull/1149/head
feijie 1 year ago
parent
commit
436b81cee6
  1. 71
      aspnet-core/templates/aio/content/host/PackageName.CompanyName.ProjectName.AIO.Host/MicroServiceApplicationsSingleModule.Configure.cs
  2. 91
      aspnet-core/templates/aio/content/host/PackageName.CompanyName.ProjectName.AIO.Host/MicroServiceApplicationsSingleModule.cs
  3. 494
      aspnet-core/templates/aio/content/host/PackageName.CompanyName.ProjectName.AIO.Host/PackageName.CompanyName.ProjectName.AIO.Host.csproj
  4. 1
      aspnet-core/templates/aio/content/host/PackageName.CompanyName.ProjectName.AIO.Host/Program.cs

71
aspnet-core/templates/aio/content/host/PackageName.CompanyName.ProjectName.AIO.Host/MicroServiceApplicationsSingleModule.Configure.cs

@ -1,8 +1,8 @@
using Elsa;
using Elsa.Options;
using Hangfire;
using Hangfire.Redis.StackExchange;
using LINGYUN.Abp.Aliyun.Localization;
using LINGYUN.Abp.BackgroundTasks;
using LINGYUN.Abp.DataProtectionManagement;
using LINGYUN.Abp.ExceptionHandling;
using LINGYUN.Abp.ExceptionHandling.Emailing;
using LINGYUN.Abp.Exporter.MiniExcel;
@ -29,7 +29,6 @@ using LINGYUN.Abp.WeChat.Work;
using LINGYUN.Abp.Wrapper;
using LINGYUN.Platform.Localization;
using PackageName.CompanyName.ProjectName.AIO.Host.Microsoft.Extensions.DependencyInjection;
using PackageName.CompanyName.ProjectName.EntityFrameworkCore;
using Medallion.Threading;
using Medallion.Threading.Redis;
using Microsoft.AspNetCore.Authentication.Cookies;
@ -41,13 +40,11 @@ using Microsoft.AspNetCore.Server.Kestrel.Core;
using Microsoft.Extensions.Caching.StackExchangeRedis;
using Microsoft.IdentityModel.Logging;
using Microsoft.OpenApi.Models;
using MiniExcelLibs.Attributes;
using OpenIddict.Server;
using OpenIddict.Server.AspNetCore;
using PackageName.CompanyName.ProjectName.AIO.Host.Authentication;
using PackageName.CompanyName.ProjectName.AIO.Host.IdentityResources;
using PackageName.CompanyName.ProjectName.AIO.Host.WeChat.Official.Messages;
using Quartz;
using StackExchange.Redis;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
@ -56,9 +53,11 @@ using System.Text.Unicode;
using Volo.Abp;
using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.AspNetCore.Mvc.AntiForgery;
using Volo.Abp.AspNetCore.Mvc.Libs;
using Volo.Abp.AspNetCore.Mvc.UI.Bundling;
using Volo.Abp.Auditing;
using Volo.Abp.Authorization.Permissions;
using Volo.Abp.BackgroundWorkers;
using Volo.Abp.BlobStoring;
using Volo.Abp.BlobStoring.FileSystem;
using Volo.Abp.Caching;
@ -77,7 +76,6 @@ using Volo.Abp.MultiTenancy;
using Volo.Abp.OpenIddict;
using Volo.Abp.OpenIddict.Localization;
using Volo.Abp.PermissionManagement;
using Volo.Abp.Quartz;
using Volo.Abp.Security.Claims;
using Volo.Abp.SettingManagement;
using Volo.Abp.SettingManagement.Localization;
@ -232,34 +230,6 @@ public partial class MicroServiceApplicationsSingleModule
}
}
private void PreConfigureQuartz(IConfiguration configuration)
{
PreConfigure<AbpQuartzOptions>(options =>
{
// 如果使用持久化存储, 则配置quartz持久层
if (configuration.GetSection("Quartz:UsePersistentStore").Get<bool>())
{
var settings = configuration.GetSection("Quartz:Properties").Get<Dictionary<string, string>>();
if (settings != null)
{
foreach (var setting in settings)
{
options.Properties[setting.Key] = setting.Value;
}
}
options.Configurator += (config) =>
{
config.UsePersistentStore(store =>
{
store.UseProperties = false;
store.UseNewtonsoftJsonSerializer();
});
};
}
});
}
private void PreConfigureElsa(IServiceCollection services, IConfiguration configuration)
{
var elsaSection = configuration.GetSection("Elsa");
@ -406,17 +376,6 @@ public partial class MicroServiceApplicationsSingleModule
});
}
private void ConfigureBackgroundTasks()
{
Configure<AbpBackgroundTasksOptions>(options =>
{
options.NodeName = ApplicationName;
options.JobCleanEnabled = true;
options.JobFetchEnabled = true;
options.JobCheckEnabled = true;
});
}
private void ConfigureTextTemplating(IConfiguration configuration)
{
if (configuration.GetValue<bool>("TextTemplating:IsDynamicStoreEnabled"))
@ -767,6 +726,28 @@ public partial class MicroServiceApplicationsSingleModule
// }
//);
});
Configure<AbpMvcLibsOptions>(options =>
{
options.CheckLibs = false;
});
}
private void ConfigureHangfire(IServiceCollection services, IConfiguration configuration)
{
// 配置Hangfire存储和设置
Configure<AbpBackgroundWorkerOptions>(options =>
{
options.IsEnabled = true;
});
var redis = ConnectionMultiplexer.Connect(configuration["Redis:Configuration"]);
// 配置Hangfire
services.AddHangfire(config =>
{
config.UseRedisStorage(redis);
});
}
private void ConfigureLocalization()

91
aspnet-core/templates/aio/content/host/PackageName.CompanyName.ProjectName.AIO.Host/MicroServiceApplicationsSingleModule.cs

@ -10,22 +10,11 @@ using LINGYUN.Abp.AuditLogging.EntityFrameworkCore;
using LINGYUN.Abp.Authentication.QQ;
using LINGYUN.Abp.Authentication.WeChat;
using LINGYUN.Abp.Authorization.OrganizationUnits;
using LINGYUN.Abp.BackgroundTasks;
using LINGYUN.Abp.BackgroundTasks.Activities;
using LINGYUN.Abp.BackgroundTasks.DistributedLocking;
using LINGYUN.Abp.BackgroundTasks.EventBus;
using LINGYUN.Abp.BackgroundTasks.ExceptionHandling;
using LINGYUN.Abp.BackgroundTasks.Jobs;
using LINGYUN.Abp.BackgroundTasks.Notifications;
using LINGYUN.Abp.BackgroundTasks.Quartz;
using LINGYUN.Abp.CachingManagement;
using LINGYUN.Abp.CachingManagement.StackExchangeRedis;
using LINGYUN.Abp.Dapr.Client;
using LINGYUN.Abp.Data.DbMigrator;
using LINGYUN.Abp.DataProtectionManagement;
using LINGYUN.Abp.DataProtectionManagement.EntityFrameworkCore;
// using LINGYUN.Abp.Demo;
// using LINGYUN.Abp.Demo.EntityFrameworkCore;
using LINGYUN.Abp.ExceptionHandling;
using LINGYUN.Abp.ExceptionHandling.Emailing;
using LINGYUN.Abp.Exporter.MiniExcel;
@ -66,7 +55,6 @@ using LINGYUN.Abp.OpenIddict.WeChat;
using LINGYUN.Abp.OpenIddict.WeChat.Work;
using LINGYUN.Abp.OssManagement;
using LINGYUN.Abp.OssManagement.FileSystem;
// using LINGYUN.Abp.OssManagement.Imaging;
using LINGYUN.Abp.OssManagement.SettingManagement;
using LINGYUN.Abp.PermissionManagement;
using LINGYUN.Abp.PermissionManagement.HttpApi;
@ -77,8 +65,6 @@ using LINGYUN.Abp.Serilog.Enrichers.Application;
using LINGYUN.Abp.Serilog.Enrichers.UniqueId;
using LINGYUN.Abp.SettingManagement;
using LINGYUN.Abp.Sms.Aliyun;
using LINGYUN.Abp.TaskManagement;
using LINGYUN.Abp.TaskManagement.EntityFrameworkCore;
using LINGYUN.Abp.Tencent.QQ;
using LINGYUN.Abp.Tencent.SettingManagement;
using LINGYUN.Abp.TextTemplating;
@ -111,8 +97,11 @@ using Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy;
using Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic;
using Volo.Abp.AspNetCore.Serilog;
using Volo.Abp.Autofac;
using Volo.Abp.BackgroundJobs.Hangfire;
using Volo.Abp.BackgroundWorkers.Hangfire;
using Volo.Abp.Caching.StackExchangeRedis;
using Volo.Abp.Data;
using Volo.Abp.EntityFrameworkCore.PostgreSql;
using Volo.Abp.EventBus;
using Volo.Abp.FeatureManagement.EntityFrameworkCore;
using Volo.Abp.Imaging;
@ -124,20 +113,9 @@ using Volo.Abp.PermissionManagement.OpenIddict;
using Volo.Abp.SettingManagement;
using Volo.Abp.SettingManagement.EntityFrameworkCore;
using Volo.Abp.Threading;
#if MySQL
using Volo.Abp.EntityFrameworkCore.MySQL;
#elif SqlServer
using Volo.Abp.EntityFrameworkCore.SqlServer;
using Microsoft.EntityFrameworkCore.Infrastructure;
#elif Sqlite
using Volo.Abp.EntityFrameworkCore.Sqlite;
#elif Oracle
using Volo.Abp.EntityFrameworkCore.Oracle;
#elif OracleDevart
using Volo.Abp.EntityFrameworkCore.Oracle.Devart;
#elif PostgreSql
using Volo.Abp.EntityFrameworkCore.PostgreSql;
#endif
// using LINGYUN.Abp.Demo;
// using LINGYUN.Abp.Demo.EntityFrameworkCore;
// using LINGYUN.Abp.OssManagement.Imaging;
namespace PackageName.CompanyName.ProjectName.AIO.Host;
@ -172,12 +150,6 @@ namespace PackageName.CompanyName.ProjectName.AIO.Host;
typeof(AbpNotificationsApplicationModule),
typeof(AbpNotificationsHttpApiModule),
typeof(AbpNotificationsEntityFrameworkCoreModule),
//typeof(AbpIdentityServerSessionModule),
//typeof(AbpIdentityServerApplicationModule),
//typeof(AbpIdentityServerHttpApiModule),
//typeof(AbpIdentityServerEntityFrameworkCoreModule),
typeof(AbpOpenIddictAspNetCoreModule),
typeof(AbpOpenIddictAspNetCoreSessionModule),
typeof(AbpOpenIddictApplicationModule),
@ -188,6 +160,9 @@ namespace PackageName.CompanyName.ProjectName.AIO.Host;
typeof(AbpOpenIddictWeChatModule),
typeof(AbpOpenIddictWeChatWorkModule),
typeof(AbpBackgroundWorkersHangfireModule),
typeof(AbpBackgroundJobsHangfireModule),
//typeof(AbpOssManagementMinioModule), // 取消注释以使用Minio
typeof(AbpOssManagementFileSystemModule),
// typeof(AbpOssManagementImagingModule),
@ -210,11 +185,6 @@ namespace PackageName.CompanyName.ProjectName.AIO.Host;
typeof(AbpSaasHttpApiModule),
typeof(AbpSaasEntityFrameworkCoreModule),
typeof(TaskManagementDomainModule),
typeof(TaskManagementApplicationModule),
typeof(TaskManagementHttpApiModule),
typeof(TaskManagementEntityFrameworkCoreModule),
typeof(AbpTextTemplatingDomainModule),
typeof(AbpTextTemplatingApplicationModule),
typeof(AbpTextTemplatingHttpApiModule),
@ -246,19 +216,7 @@ namespace PackageName.CompanyName.ProjectName.AIO.Host;
typeof(AbpPermissionManagementEntityFrameworkCoreModule),
typeof(AbpPermissionManagementDomainOrganizationUnitsModule), // 组织机构权限管理
#if MySQL
typeof(AbpEntityFrameworkCoreMySQLModule),
#elif SqlServer
typeof(AbpEntityFrameworkCoreSqlServerModule),
#elif Sqlite
typeof(AbpEntityFrameworkCoreSqliteModule),
#elif Oracle
typeof(AbpEntityFrameworkCoreOracleModule),
#elif OracleDevart
typeof(AbpEntityFrameworkCoreOracleDevartModule),
#elif PostgreSql
typeof(AbpEntityFrameworkCorePostgreSqlModule),
#endif
typeof(AbpAliyunSmsModule),
typeof(AbpAliyunSettingManagementModule),
@ -268,24 +226,9 @@ namespace PackageName.CompanyName.ProjectName.AIO.Host;
typeof(AbpAuthorizationOrganizationUnitsModule),
typeof(AbpIdentityOrganizaztionUnitsModule),
typeof(AbpBackgroundTasksModule),
typeof(AbpBackgroundTasksActivitiesModule),
typeof(AbpBackgroundTasksDistributedLockingModule),
typeof(AbpBackgroundTasksEventBusModule),
typeof(AbpBackgroundTasksExceptionHandlingModule),
typeof(AbpBackgroundTasksJobsModule),
typeof(AbpBackgroundTasksNotificationsModule),
typeof(AbpBackgroundTasksQuartzModule),
typeof(AbpDataProtectionManagementApplicationModule),
typeof(AbpDataProtectionManagementHttpApiModule),
typeof(AbpDataProtectionManagementEntityFrameworkCoreModule),
// typeof(AbpDemoApplicationModule),
// typeof(AbpDemoHttpApiModule),
// typeof(AbpDemoEntityFrameworkCoreModule),
typeof(AbpDaprClientModule),
typeof(AbpExceptionHandlingModule),
typeof(AbpEmailingExceptionHandlingModule),
typeof(AbpFeaturesLimitValidationModule),
@ -327,17 +270,6 @@ namespace PackageName.CompanyName.ProjectName.AIO.Host;
typeof(AbpAccountTemplatesModule),
typeof(AbpAspNetCoreAuthenticationJwtBearerModule),
typeof(AbpCachingStackExchangeRedisModule),
// typeof(AbpElsaModule),
// typeof(AbpElsaServerModule),
// typeof(AbpElsaActivitiesModule),
// typeof(AbpElsaEntityFrameworkCoreModule),
// typeof(AbpElsaEntityFrameworkCorePostgreSqlModule),
// typeof(AbpElsaModule),
// typeof(AbpElsaServerModule),
// typeof(AbpElsaActivitiesModule),
// typeof(AbpElsaEntityFrameworkCoreModule),
// typeof(AbpElsaEntityFrameworkCoreMySqlModule),
typeof(AbpExporterMiniExcelModule),
typeof(AbpAspNetCoreMvcUiMultiTenancyModule),
typeof(AbpAspNetCoreSerilogModule),
@ -348,7 +280,7 @@ namespace PackageName.CompanyName.ProjectName.AIO.Host;
typeof(AbpAspNetCoreMvcUiBasicThemeModule),
typeof(AbpEventBusModule),
typeof(AbpAutofacModule),
typeof(ProjectNameApplicationModule),
typeof(ProjectNameHttpApiModule),
typeof(ProjectNameEntityFrameworkCoreModule),
@ -365,7 +297,6 @@ public partial class MicroServiceApplicationsSingleModule : AbpModule
PreConfigureFeature();
PreConfigureIdentity();
PreConfigureApp(configuration);
PreConfigureQuartz(configuration);
PreConfigureAuthServer(configuration);
PreConfigureElsa(context.Services, configuration);
PreConfigureCertificate(configuration, hostingEnvironment);
@ -386,7 +317,7 @@ public partial class MicroServiceApplicationsSingleModule : AbpModule
ConfigureDataSeeder();
ConfigureLocalization();
ConfigureKestrelServer();
ConfigureBackgroundTasks();
ConfigureHangfire(context.Services, configuration);
ConfigureExceptionHandling();
ConfigureVirtualFileSystem();
ConfigureEntityDataProtected();

494
aspnet-core/templates/aio/content/host/PackageName.CompanyName.ProjectName.AIO.Host/PackageName.CompanyName.ProjectName.AIO.Host.csproj

@ -2,264 +2,260 @@
<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<NoWarn>$(NoWarn);CS1591;CS0436;CS8618;NU1803;NU1900</NoWarn>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="DistributedLock.Redis" />
<PackageReference Include="Elsa.Activities.Email" />
<PackageReference Include="Elsa.Activities.Http" />
<PackageReference Include="Elsa.Activities.UserTask" />
<PackageReference Include="Elsa.Activities.Temporal.Quartz" />
<PackageReference Include="DistributedLock.Redis"/>
<PackageReference Include="Elsa.Activities.Email"/>
<PackageReference Include="Elsa.Activities.Http"/>
<PackageReference Include="Elsa.Activities.UserTask"/>
<PackageReference Include="Elsa.Activities.Temporal.Quartz"/>
<!--<PackageReference Include="Elsa.Designer.Components.Web" />-->
<PackageReference Include="Elsa.Webhooks.Api" />
<PackageReference Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" />
<PackageReference Include="OpenIddict.Validation.DataProtection" />
<PackageReference Include="OpenIddict.Server.DataProtection" />
<PackageReference Include="Serilog.AspNetCore" />
<PackageReference Include="Serilog.Enrichers.Environment" />
<PackageReference Include="Serilog.Enrichers.Assembly" />
<PackageReference Include="Serilog.Enrichers.Process" />
<PackageReference Include="Serilog.Enrichers.Thread" />
<PackageReference Include="Serilog.Settings.Configuration" />
<PackageReference Include="Serilog.Sinks.Elasticsearch" />
<PackageReference Include="Serilog.Sinks.File" />
<PackageReference Include="Swashbuckle.AspNetCore" />
<PackageReference Include="Quartz.Serialization.Json" />
<PackageReference Include="Volo.Abp.Account.Web.OpenIddict" />
<PackageReference Include="Elsa.Webhooks.Api"/>
<PackageReference Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis"/>
<PackageReference Include="OpenIddict.Validation.DataProtection"/>
<PackageReference Include="OpenIddict.Server.DataProtection"/>
<PackageReference Include="Serilog.AspNetCore"/>
<PackageReference Include="Serilog.Enrichers.Environment"/>
<PackageReference Include="Serilog.Enrichers.Assembly"/>
<PackageReference Include="Serilog.Enrichers.Process"/>
<PackageReference Include="Serilog.Enrichers.Thread"/>
<PackageReference Include="Serilog.Settings.Configuration"/>
<PackageReference Include="Serilog.Sinks.Elasticsearch"/>
<PackageReference Include="Serilog.Sinks.File"/>
<PackageReference Include="Swashbuckle.AspNetCore"/>
<PackageReference Include="Quartz.Serialization.Json"/>
<PackageReference Include="Volo.Abp.Account.Web.OpenIddict"/>
<!--<PackageReference Include="Volo.Abp.Account.Web.IdentityServer" />-->
<PackageReference Include="Volo.Abp.AspNetCore.Serilog" />
<PackageReference Include="Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy" />
<PackageReference Include="Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic" />
<PackageReference Include="Volo.Abp.AspNetCore.Authentication.JwtBearer" />
<PackageReference Include="Volo.Abp.Autofac" />
<PackageReference Include="Volo.Abp.Caching.StackExchangeRedis" />
<PackageReference Include="Volo.Abp.EntityFrameworkCore.MySql" Condition="'$(MySQL)'=='true'" />
<PackageReference Include="Volo.Abp.EntityFrameworkCore.SqlServer" Condition="'$(SqlServer)'=='true'" />
<PackageReference Include="Volo.Abp.EntityFrameworkCore.Sqlite" Condition="'$(Sqlite)'=='true'" />
<PackageReference Include="Volo.Abp.EntityFrameworkCore.Oracle" Condition="'$(Oracle)'=='true'" />
<PackageReference Include="Volo.Abp.EntityFrameworkCore.Oracle.Devart" Condition="'$(OracleDevart)'=='true'" />
<PackageReference Include="Volo.Abp.EntityFrameworkCore.PostgreSql" Condition="'$(PostgreSql)'=='true'" />
<PackageReference Include="Volo.Abp.FeatureManagement.Application" />
<PackageReference Include="Volo.Abp.FeatureManagement.EntityFrameworkCore" />
<PackageReference Include="Volo.Abp.FeatureManagement.HttpApi" />
<PackageReference Include="Volo.Abp.PermissionManagement.Application" />
<PackageReference Include="Volo.Abp.PermissionManagement.Domain.Identity" />
<PackageReference Include="Volo.Abp.PermissionManagement.Domain.IdentityServer" />
<PackageReference Include="Volo.Abp.PermissionManagement.Domain.OpenIddict" />
<PackageReference Include="Volo.Abp.PermissionManagement.HttpApi" />
<PackageReference Include="Volo.Abp.Identity.AspNetCore" />
<PackageReference Include="Volo.Abp.Imaging.ImageSharp" />
<PackageReference Include="Volo.Abp.AspNetCore.Serilog"/>
<PackageReference Include="Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy"/>
<PackageReference Include="Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic"/>
<PackageReference Include="Volo.Abp.AspNetCore.Authentication.JwtBearer"/>
<PackageReference Include="Volo.Abp.Autofac"/>
<PackageReference Include="Volo.Abp.Caching.StackExchangeRedis"/>
<PackageReference Include="Volo.Abp.EntityFrameworkCore.PostgreSql"/>
<PackageReference Include="Volo.Abp.FeatureManagement.Application"/>
<PackageReference Include="Volo.Abp.FeatureManagement.EntityFrameworkCore"/>
<PackageReference Include="Volo.Abp.FeatureManagement.HttpApi"/>
<PackageReference Include="Volo.Abp.PermissionManagement.Application"/>
<PackageReference Include="Volo.Abp.PermissionManagement.Domain.Identity"/>
<PackageReference Include="Volo.Abp.PermissionManagement.Domain.IdentityServer"/>
<PackageReference Include="Volo.Abp.PermissionManagement.Domain.OpenIddict"/>
<PackageReference Include="Volo.Abp.PermissionManagement.HttpApi"/>
<PackageReference Include="Volo.Abp.Identity.AspNetCore"/>
<PackageReference Include="Volo.Abp.Imaging.ImageSharp"/>
<!--<PackageReference Include="Volo.Abp.IdentityServer.EntityFrameworkCore" />-->
<PackageReference Include="Volo.Abp.SettingManagement.EntityFrameworkCore" />
<PackageReference Include="Volo.Abp.PermissionManagement.EntityFrameworkCore" />
<PackageReference Include="Volo.Abp.OpenIddict.EntityFrameworkCore" />
<PackageReference Include="Volo.Abp.SettingManagement.EntityFrameworkCore"/>
<PackageReference Include="Volo.Abp.PermissionManagement.EntityFrameworkCore"/>
<PackageReference Include="Volo.Abp.OpenIddict.EntityFrameworkCore"/>
</ItemGroup>
<ItemGroup>
<PackageReference Include="LINGYUN.Abp.AuditLogging.EntityFrameworkCore" />
<PackageReference Include="LINGYUN.Abp.AuditLogging" />
<PackageReference Include="LINGYUN.Abp.Authentication.QQ" />
<PackageReference Include="LINGYUN.Abp.Authentication.WeChat" />
<PackageReference Include="LINGYUN.Abp.Authorization.OrganizationUnits" />
<PackageReference Include="LINGYUN.Abp.Aliyun.SettingManagement" />
<PackageReference Include="LINGYUN.Abp.Aliyun" />
<PackageReference Include="LINGYUN.Abp.Tencent.QQ" />
<PackageReference Include="LINGYUN.Abp.Tencent.SettingManagement" />
<PackageReference Include="LINGYUN.Abp.Tencent" />
<PackageReference Include="LINGYUN.Abp.AspNetCore.HttpOverrides" />
<PackageReference Include="LINGYUN.Abp.Data.DbMigrator" />
<PackageReference Include="LINGYUN.Abp.ExceptionHandling.Emailing" />
<PackageReference Include="LINGYUN.Abp.ExceptionHandling" />
<PackageReference Include="LINGYUN.Abp.Features.LimitValidation.Redis.Client" />
<PackageReference Include="LINGYUN.Abp.Features.LimitValidation.Redis" />
<PackageReference Include="LINGYUN.Abp.Features.LimitValidation" />
<PackageReference Include="LINGYUN.Abp.Http.Client.Wrapper" />
<PackageReference Include="LINGYUN.Abp.IdGenerator" />
<PackageReference Include="LINGYUN.Abp.RealTime" />
<PackageReference Include="LINGYUN.Abp.Wrapper" />
<PackageReference Include="LINGYUN.Abp.Dynamic.Queryable.Application.Contracts" />
<PackageReference Include="LINGYUN.Abp.Dynamic.Queryable.Application" />
<PackageReference Include="LINGYUN.Abp.Dynamic.Queryable.HttpApi" />
<PackageReference Include="LINGYUN.Linq.Dynamic.Queryable" />
<PackageReference Include="LINGYUN.Abp.Exporter.MiniExcel" />
<PackageReference Include="LINGYUN.Abp.FeatureManagement.Client" />
<PackageReference Include="LINGYUN.Abp.AspNetCore.Mvc.Localization" />
<PackageReference Include="LINGYUN.Abp.Localization.CultureMap" />
<PackageReference Include="LINGYUN.Abp.Localization.Persistence" />
<PackageReference Include="LINGYUN.Abp.Logging.Serilog.Elasticsearch" />
<PackageReference Include="LINGYUN.Abp.Logging" />
<PackageReference Include="LINGYUN.Abp.Serilog.Enrichers.Application" />
<PackageReference Include="LINGYUN.Abp.Serilog.Enrichers.UniqueId" />
<PackageReference Include="LINGYUN.Abp.Sms.Aliyun" />
<PackageReference Include="LINGYUN.Abp.AspNetCore.Mvc.Idempotent.Wrapper" />
<PackageReference Include="LINGYUN.Abp.AspNetCore.Mvc.Wrapper" />
<PackageReference Include="LINGYUN.Abp.UI.Navigation" />
<PackageReference Include="LINGYUN.Abp.OpenApi.Authorization" />
<PackageReference Include="LINGYUN.Abp.OpenApi" />
<PackageReference Include="LINGYUN.Abp.SettingManagement.Application.Contracts" />
<PackageReference Include="LINGYUN.Abp.MultiTenancy.Editions" />
<PackageReference Include="LINGYUN.Abp.Identity.WeChat" />
<PackageReference Include="LINGYUN.Abp.WeChat.MiniProgram" />
<PackageReference Include="LINGYUN.Abp.WeChat.Official.Handlers" />
<PackageReference Include="LINGYUN.Abp.WeChat.Official" />
<PackageReference Include="LINGYUN.Abp.WeChat.Official.Application" />
<PackageReference Include="LINGYUN.Abp.WeChat.Official.HttpApi" />
<PackageReference Include="LINGYUN.Abp.WeChat.SettingManagement" />
<PackageReference Include="LINGYUN.Abp.WeChat.Work.Application" />
<PackageReference Include="LINGYUN.Abp.WeChat.Work.Handlers" />
<PackageReference Include="LINGYUN.Abp.WeChat.Work.HttpApi" />
<PackageReference Include="LINGYUN.Abp.WeChat.Work" />
<PackageReference Include="LINGYUN.Abp.WeChat" />
<PackageReference Include="LINGYUN.Abp.AuditLogging.EntityFrameworkCore"/>
<PackageReference Include="LINGYUN.Abp.AuditLogging"/>
<PackageReference Include="LINGYUN.Abp.Authentication.QQ"/>
<PackageReference Include="LINGYUN.Abp.Authentication.WeChat"/>
<PackageReference Include="LINGYUN.Abp.Authorization.OrganizationUnits"/>
<PackageReference Include="LINGYUN.Abp.Aliyun.SettingManagement"/>
<PackageReference Include="LINGYUN.Abp.Aliyun"/>
<PackageReference Include="LINGYUN.Abp.Tencent.QQ"/>
<PackageReference Include="LINGYUN.Abp.Tencent.SettingManagement"/>
<PackageReference Include="LINGYUN.Abp.Tencent"/>
<PackageReference Include="LINGYUN.Abp.AspNetCore.HttpOverrides"/>
<PackageReference Include="LINGYUN.Abp.Data.DbMigrator"/>
<PackageReference Include="LINGYUN.Abp.ExceptionHandling.Emailing"/>
<PackageReference Include="LINGYUN.Abp.ExceptionHandling"/>
<PackageReference Include="LINGYUN.Abp.Features.LimitValidation.Redis.Client"/>
<PackageReference Include="LINGYUN.Abp.Features.LimitValidation.Redis"/>
<PackageReference Include="LINGYUN.Abp.Features.LimitValidation"/>
<PackageReference Include="LINGYUN.Abp.Http.Client.Wrapper"/>
<PackageReference Include="LINGYUN.Abp.IdGenerator"/>
<PackageReference Include="LINGYUN.Abp.RealTime"/>
<PackageReference Include="LINGYUN.Abp.Wrapper"/>
<PackageReference Include="LINGYUN.Abp.Dynamic.Queryable.Application.Contracts"/>
<PackageReference Include="LINGYUN.Abp.Dynamic.Queryable.Application"/>
<PackageReference Include="LINGYUN.Abp.Dynamic.Queryable.HttpApi"/>
<PackageReference Include="LINGYUN.Linq.Dynamic.Queryable"/>
<PackageReference Include="LINGYUN.Abp.Exporter.MiniExcel"/>
<PackageReference Include="LINGYUN.Abp.FeatureManagement.Client"/>
<PackageReference Include="LINGYUN.Abp.AspNetCore.Mvc.Localization"/>
<PackageReference Include="LINGYUN.Abp.Localization.CultureMap"/>
<PackageReference Include="LINGYUN.Abp.Localization.Persistence"/>
<PackageReference Include="LINGYUN.Abp.Logging.Serilog.Elasticsearch"/>
<PackageReference Include="LINGYUN.Abp.Logging"/>
<PackageReference Include="LINGYUN.Abp.Serilog.Enrichers.Application"/>
<PackageReference Include="LINGYUN.Abp.Serilog.Enrichers.UniqueId"/>
<PackageReference Include="LINGYUN.Abp.Sms.Aliyun"/>
<PackageReference Include="LINGYUN.Abp.AspNetCore.Mvc.Idempotent.Wrapper"/>
<PackageReference Include="LINGYUN.Abp.AspNetCore.Mvc.Wrapper"/>
<PackageReference Include="LINGYUN.Abp.UI.Navigation"/>
<PackageReference Include="LINGYUN.Abp.OpenApi.Authorization"/>
<PackageReference Include="LINGYUN.Abp.OpenApi"/>
<PackageReference Include="LINGYUN.Abp.SettingManagement.Application.Contracts"/>
<PackageReference Include="LINGYUN.Abp.MultiTenancy.Editions"/>
<PackageReference Include="LINGYUN.Abp.Identity.WeChat"/>
<PackageReference Include="LINGYUN.Abp.WeChat.MiniProgram"/>
<PackageReference Include="LINGYUN.Abp.WeChat.Official.Handlers"/>
<PackageReference Include="LINGYUN.Abp.WeChat.Official"/>
<PackageReference Include="LINGYUN.Abp.WeChat.Official.Application"/>
<PackageReference Include="LINGYUN.Abp.WeChat.Official.HttpApi"/>
<PackageReference Include="LINGYUN.Abp.WeChat.SettingManagement"/>
<PackageReference Include="LINGYUN.Abp.WeChat.Work.Application"/>
<PackageReference Include="LINGYUN.Abp.WeChat.Work.Handlers"/>
<PackageReference Include="LINGYUN.Abp.WeChat.Work.HttpApi"/>
<PackageReference Include="LINGYUN.Abp.WeChat.Work"/>
<PackageReference Include="LINGYUN.Abp.WeChat"/>
</ItemGroup>
<ItemGroup>
<PackageReference Include="LINGYUN.Abp.Account.Application.Contracts" />
<PackageReference Include="LINGYUN.Abp.Account.Application" />
<PackageReference Include="LINGYUN.Abp.Account.HttpApi" />
<PackageReference Include="LINGYUN.Abp.Account.Templates" />
<PackageReference Include="LINGYUN.Abp.Auditing.Application.Contracts" />
<PackageReference Include="LINGYUN.Abp.Auditing.Application" />
<PackageReference Include="LINGYUN.Abp.Auditing.HttpApi" />
<PackageReference Include="LINGYUN.Abp.CachingManagement.Application.Contracts" />
<PackageReference Include="LINGYUN.Abp.CachingManagement.Application" />
<PackageReference Include="LINGYUN.Abp.CachingManagement.Domain" />
<PackageReference Include="LINGYUN.Abp.CachingManagement.HttpApi" />
<PackageReference Include="LINGYUN.Abp.CachingManagement.StackExchangeRedis" />
<PackageReference Include="LINGYUN.Abp.DataProtectionManagement.Application" />
<PackageReference Include="LINGYUN.Abp.DataProtectionManagement.EntityFrameworkCore" />
<PackageReference Include="LINGYUN.Abp.DataProtectionManagement.HttpApi" />
<PackageReference Include="LINGYUN.Abp.Elsa.Activities.BlobStoring" />
<PackageReference Include="LINGYUN.Abp.Elsa.Activities.Emailing" />
<PackageReference Include="LINGYUN.Abp.Elsa.Activities.IM" />
<PackageReference Include="LINGYUN.Abp.Elsa.Activities.Notifications" />
<PackageReference Include="LINGYUN.Abp.Elsa.Activities.Sms" />
<PackageReference Include="LINGYUN.Abp.Elsa.Activities.Webhooks" />
<PackageReference Include="LINGYUN.Abp.Elsa.Activities" />
<!-- <PackageReference Include="LINGYUN.Abp.Elsa.EntityFrameworkCore.PostgreSql" />-->
<PackageReference Include="LINGYUN.Abp.Elsa.EntityFrameworkCore" />
<PackageReference Include="LINGYUN.Abp.Elsa.Server" />
<PackageReference Include="LINGYUN.Abp.Elsa" />
<PackageReference Include="LINGYUN.Abp.FeatureManagement.Application" />
<PackageReference Include="LINGYUN.Abp.FeatureManagement.HttpApi" />
<PackageReference Include="LINGYUN.Abp.IdentityServer.Session" />
<PackageReference Include="LINGYUN.Abp.Identity.Application.Contracts" />
<PackageReference Include="LINGYUN.Abp.Identity.Application" />
<PackageReference Include="LINGYUN.Abp.Identity.AspNetCore.Session" />
<PackageReference Include="LINGYUN.Abp.Identity.Domain.Shared" />
<PackageReference Include="LINGYUN.Abp.Identity.Domain" />
<PackageReference Include="LINGYUN.Abp.Identity.EntityFrameworkCore" />
<PackageReference Include="LINGYUN.Abp.Identity.HttpApi" />
<PackageReference Include="LINGYUN.Abp.Identity.Notifications" />
<PackageReference Include="LINGYUN.Abp.Identity.OrganizaztionUnits" />
<PackageReference Include="LINGYUN.Abp.IdentityServer.Application.Contracts" />
<PackageReference Include="LINGYUN.Abp.IdentityServer.Application" />
<PackageReference Include="LINGYUN.Abp.IdentityServer.Domain" />
<PackageReference Include="LINGYUN.Abp.IdentityServer.EntityFrameworkCore" />
<PackageReference Include="LINGYUN.Abp.IdentityServer.HttpApi" />
<PackageReference Include="LINGYUN.Abp.IdentityServer.LinkUser" />
<PackageReference Include="LINGYUN.Abp.IdentityServer.Portal" />
<PackageReference Include="LINGYUN.Abp.IdentityServer.SmsValidator" />
<PackageReference Include="LINGYUN.Abp.IdentityServer.WeChat.Work" />
<PackageReference Include="LINGYUN.Abp.Identity.Session.AspNetCore" />
<PackageReference Include="LINGYUN.Abp.LocalizationManagement.Application.Contracts" />
<PackageReference Include="LINGYUN.Abp.LocalizationManagement.Application" />
<PackageReference Include="LINGYUN.Abp.LocalizationManagement.Domain.Shared" />
<PackageReference Include="LINGYUN.Abp.LocalizationManagement.Domain" />
<PackageReference Include="LINGYUN.Abp.LocalizationManagement.EntityFrameworkCore" />
<PackageReference Include="LINGYUN.Abp.LocalizationManagement.HttpApi" />
<PackageReference Include="LINGYUN.Abp.OpenIddict.AspNetCore.Session" />
<PackageReference Include="LINGYUN.Abp.OpenIddict.AspNetCore" />
<PackageReference Include="LINGYUN.Abp.IM.SignalR" />
<PackageReference Include="LINGYUN.Abp.IM" />
<PackageReference Include="LINGYUN.Abp.MessageService.Application.Contracts" />
<PackageReference Include="LINGYUN.Abp.MessageService.Application" />
<PackageReference Include="LINGYUN.Abp.MessageService.Domain.Shared" />
<PackageReference Include="LINGYUN.Abp.MessageService.Domain" />
<PackageReference Include="LINGYUN.Abp.MessageService.EntityFrameworkCore" />
<PackageReference Include="LINGYUN.Abp.MessageService.HttpApi" />
<PackageReference Include="LINGYUN.Abp.ExceptionHandling.Notifications" />
<PackageReference Include="LINGYUN.Abp.Notifications.Common" />
<PackageReference Include="LINGYUN.Abp.Notifications.Core" />
<PackageReference Include="LINGYUN.Abp.Notifications.Emailing" />
<PackageReference Include="LINGYUN.Abp.Notifications.SignalR" />
<PackageReference Include="LINGYUN.Abp.Notifications.Application.Contracts" />
<PackageReference Include="LINGYUN.Abp.Notifications.Application" />
<PackageReference Include="LINGYUN.Abp.Notifications.Domain.Shared" />
<PackageReference Include="LINGYUN.Abp.Notifications.Domain" />
<PackageReference Include="LINGYUN.Abp.Notifications.EntityFrameworkCore" />
<PackageReference Include="LINGYUN.Abp.Notifications.HttpApi" />
<PackageReference Include="LINGYUN.Abp.Notifications.WeChat.MiniProgram" />
<PackageReference Include="LINGYUN.Abp.Notifications.WeChat.Work" />
<PackageReference Include="LINGYUN.Abp.OpenIddict.Application.Contracts" />
<PackageReference Include="LINGYUN.Abp.OpenIddict.Application" />
<PackageReference Include="LINGYUN.Abp.OpenIddict.HttpApi" />
<PackageReference Include="LINGYUN.Abp.OpenIddict.LinkUser" />
<PackageReference Include="LINGYUN.Abp.OpenIddict.Sms" />
<PackageReference Include="LINGYUN.Abp.OpenIddict.Portal" />
<PackageReference Include="LINGYUN.Abp.OpenIddict.WeChat" />
<PackageReference Include="LINGYUN.Abp.OpenIddict.WeChat.Work" />
<PackageReference Include="LINGYUN.Abp.OssManagement.Application.Contracts" />
<PackageReference Include="LINGYUN.Abp.OssManagement.Application" />
<PackageReference Include="LINGYUN.Abp.OssManagement.Domain.Shared" />
<PackageReference Include="LINGYUN.Abp.OssManagement.Domain" />
<PackageReference Include="LINGYUN.Abp.OssManagement.FileSystem" />
<!-- <PackageReference Include="LINGYUN.Abp.OssManagement.Imaging" />-->
<!-- <PackageReference Include="LINGYUN.Abp.OssManagement.Minio" />-->
<PackageReference Include="LINGYUN.Abp.OssManagement.HttpApi" />
<PackageReference Include="LINGYUN.Abp.OssManagement.SettingManagement" />
<PackageReference Include="LINGYUN.Abp.PermissionManagement.Application" />
<PackageReference Include="LINGYUN.Abp.PermissionManagement.Domain.OrganizationUnits" />
<PackageReference Include="LINGYUN.Abp.PermissionManagement.HttpApi" />
<PackageReference Include="LINGYUN.Abp.UI.Navigation.VueVbenAdmin" />
<PackageReference Include="LINGYUN.Platform.Application.Contracts" />
<PackageReference Include="LINGYUN.Platform.Application" />
<PackageReference Include="LINGYUN.Platform.Application.Contracts" />
<PackageReference Include="LINGYUN.Platform.Application" />
<PackageReference Include="LINGYUN.Platform.Domain.Shared" />
<PackageReference Include="LINGYUN.Platform.Domain" />
<PackageReference Include="LINGYUN.Platform.EntityFrameworkCore" />
<PackageReference Include="LINGYUN.Platform.HttpApi" />
<PackageReference Include="LINGYUN.Platform.Settings.VueVbenAdmin" />
<PackageReference Include="LINGYUN.Platform.Theme.VueVbenAdmin" />
<PackageReference Include="LINGYUN.Abp.Saas.Application.Contracts" />
<PackageReference Include="LINGYUN.Abp.Saas.Domain.Shared" />
<PackageReference Include="LINGYUN.Abp.Saas.Domain" />
<PackageReference Include="LINGYUN.Abp.Saas.Application" />
<PackageReference Include="LINGYUN.Abp.Saas.EntityFrameworkCore" />
<PackageReference Include="LINGYUN.Abp.Saas.HttpApi" />
<PackageReference Include="LINGYUN.Abp.SettingManagement.Application" />
<PackageReference Include="LINGYUN.Abp.SettingManagement.HttpApi" />
<PackageReference Include="LINGYUN.Abp.BackgroundTasks.Abstractions" />
<PackageReference Include="LINGYUN.Abp.BackgroundTasks.Activities" />
<PackageReference Include="LINGYUN.Abp.BackgroundTasks.DistributedLocking" />
<PackageReference Include="LINGYUN.Abp.BackgroundTasks.EventBus" />
<PackageReference Include="LINGYUN.Abp.BackgroundTasks.ExceptionHandling" />
<PackageReference Include="LINGYUN.Abp.BackgroundTasks.Jobs" />
<PackageReference Include="LINGYUN.Abp.BackgroundTasks.Notifications" />
<PackageReference Include="LINGYUN.Abp.BackgroundTasks.Quartz" />
<PackageReference Include="LINGYUN.Abp.BackgroundTasks" />
<PackageReference Include="LINGYUN.Abp.TaskManagement.Application.Contracts" />
<PackageReference Include="LINGYUN.Abp.TaskManagement.Application" />
<PackageReference Include="LINGYUN.Abp.TaskManagement.Domain.Shared" />
<PackageReference Include="LINGYUN.Abp.TaskManagement.Domain" />
<PackageReference Include="LINGYUN.Abp.TaskManagement.EntityFrameworkCore" />
<PackageReference Include="LINGYUN.Abp.TaskManagement.HttpApi" />
<PackageReference Include="LINGYUN.Abp.TextTemplating.Application.Contracts" />
<PackageReference Include="LINGYUN.Abp.TextTemplating.Application" />
<PackageReference Include="LINGYUN.Abp.TextTemplating.Domain.Shared" />
<PackageReference Include="LINGYUN.Abp.TextTemplating.Domain" />
<PackageReference Include="LINGYUN.Abp.TextTemplating.EntityFrameworkCore" />
<PackageReference Include="LINGYUN.Abp.TextTemplating.HttpApi" />
<PackageReference Include="LINGYUN.Abp.Webhooks.Core" />
<PackageReference Include="LINGYUN.Abp.Webhooks.EventBus" />
<PackageReference Include="LINGYUN.Abp.Webhooks.Identity" />
<PackageReference Include="LINGYUN.Abp.Webhooks.Saas" />
<PackageReference Include="LINGYUN.Abp.WebhooksManagement.Application.Contracts" />
<PackageReference Include="LINGYUN.Abp.WebhooksManagement.Application" />
<PackageReference Include="LINGYUN.Abp.WebhooksManagement.Domain.Shared" />
<PackageReference Include="LINGYUN.Abp.WebhooksManagement.Domain" />
<PackageReference Include="LINGYUN.Abp.WebhooksManagement.EntityFrameworkCore" />
<PackageReference Include="LINGYUN.Abp.WebhooksManagement.HttpApi" />
<PackageReference Include="LINGYUN.Abp.Webhooks" />
<PackageReference Include="LINGYUN.Abp.Account.Application.Contracts"/>
<PackageReference Include="LINGYUN.Abp.Account.Application"/>
<PackageReference Include="LINGYUN.Abp.Account.HttpApi"/>
<PackageReference Include="LINGYUN.Abp.Account.Templates"/>
<PackageReference Include="LINGYUN.Abp.Auditing.Application.Contracts"/>
<PackageReference Include="LINGYUN.Abp.Auditing.Application"/>
<PackageReference Include="LINGYUN.Abp.Auditing.HttpApi"/>
<PackageReference Include="LINGYUN.Abp.CachingManagement.Application.Contracts"/>
<PackageReference Include="LINGYUN.Abp.CachingManagement.Application"/>
<PackageReference Include="LINGYUN.Abp.CachingManagement.Domain"/>
<PackageReference Include="LINGYUN.Abp.CachingManagement.HttpApi"/>
<PackageReference Include="LINGYUN.Abp.CachingManagement.StackExchangeRedis"/>
<PackageReference Include="LINGYUN.Abp.DataProtectionManagement.Application"/>
<PackageReference Include="LINGYUN.Abp.DataProtectionManagement.EntityFrameworkCore"/>
<PackageReference Include="LINGYUN.Abp.DataProtectionManagement.HttpApi"/>
<PackageReference Include="LINGYUN.Abp.Elsa.Activities.BlobStoring"/>
<PackageReference Include="LINGYUN.Abp.Elsa.Activities.Emailing"/>
<PackageReference Include="LINGYUN.Abp.Elsa.Activities.IM"/>
<PackageReference Include="LINGYUN.Abp.Elsa.Activities.Notifications"/>
<PackageReference Include="LINGYUN.Abp.Elsa.Activities.Sms"/>
<PackageReference Include="LINGYUN.Abp.Elsa.Activities.Webhooks"/>
<PackageReference Include="LINGYUN.Abp.Elsa.Activities"/>
<!-- <PackageReference Include="LINGYUN.Abp.Elsa.EntityFrameworkCore.PostgreSql" />-->
<PackageReference Include="LINGYUN.Abp.Elsa.EntityFrameworkCore"/>
<PackageReference Include="LINGYUN.Abp.Elsa.Server"/>
<PackageReference Include="LINGYUN.Abp.Elsa"/>
<PackageReference Include="LINGYUN.Abp.FeatureManagement.Application"/>
<PackageReference Include="LINGYUN.Abp.FeatureManagement.HttpApi"/>
<PackageReference Include="LINGYUN.Abp.IdentityServer.Session"/>
<PackageReference Include="LINGYUN.Abp.Identity.Application.Contracts"/>
<PackageReference Include="LINGYUN.Abp.Identity.Application"/>
<PackageReference Include="LINGYUN.Abp.Identity.AspNetCore.Session"/>
<PackageReference Include="LINGYUN.Abp.Identity.Domain.Shared"/>
<PackageReference Include="LINGYUN.Abp.Identity.Domain"/>
<PackageReference Include="LINGYUN.Abp.Identity.EntityFrameworkCore"/>
<PackageReference Include="LINGYUN.Abp.Identity.HttpApi"/>
<PackageReference Include="LINGYUN.Abp.Identity.Notifications"/>
<PackageReference Include="LINGYUN.Abp.Identity.OrganizaztionUnits"/>
<PackageReference Include="LINGYUN.Abp.IdentityServer.Application.Contracts"/>
<PackageReference Include="LINGYUN.Abp.IdentityServer.Application"/>
<PackageReference Include="LINGYUN.Abp.IdentityServer.Domain"/>
<PackageReference Include="LINGYUN.Abp.IdentityServer.EntityFrameworkCore"/>
<PackageReference Include="LINGYUN.Abp.IdentityServer.HttpApi"/>
<PackageReference Include="LINGYUN.Abp.IdentityServer.LinkUser"/>
<PackageReference Include="LINGYUN.Abp.IdentityServer.Portal"/>
<PackageReference Include="LINGYUN.Abp.IdentityServer.SmsValidator"/>
<PackageReference Include="LINGYUN.Abp.IdentityServer.WeChat.Work"/>
<PackageReference Include="LINGYUN.Abp.Identity.Session.AspNetCore"/>
<PackageReference Include="LINGYUN.Abp.LocalizationManagement.Application.Contracts"/>
<PackageReference Include="LINGYUN.Abp.LocalizationManagement.Application"/>
<PackageReference Include="LINGYUN.Abp.LocalizationManagement.Domain.Shared"/>
<PackageReference Include="LINGYUN.Abp.LocalizationManagement.Domain"/>
<PackageReference Include="LINGYUN.Abp.LocalizationManagement.EntityFrameworkCore"/>
<PackageReference Include="LINGYUN.Abp.LocalizationManagement.HttpApi"/>
<PackageReference Include="LINGYUN.Abp.OpenIddict.AspNetCore.Session"/>
<PackageReference Include="LINGYUN.Abp.OpenIddict.AspNetCore"/>
<PackageReference Include="LINGYUN.Abp.IM.SignalR"/>
<PackageReference Include="LINGYUN.Abp.IM"/>
<PackageReference Include="LINGYUN.Abp.MessageService.Application.Contracts"/>
<PackageReference Include="LINGYUN.Abp.MessageService.Application"/>
<PackageReference Include="LINGYUN.Abp.MessageService.Domain.Shared"/>
<PackageReference Include="LINGYUN.Abp.MessageService.Domain"/>
<PackageReference Include="LINGYUN.Abp.MessageService.EntityFrameworkCore"/>
<PackageReference Include="LINGYUN.Abp.MessageService.HttpApi"/>
<PackageReference Include="LINGYUN.Abp.ExceptionHandling.Notifications"/>
<PackageReference Include="LINGYUN.Abp.Notifications.Common"/>
<PackageReference Include="LINGYUN.Abp.Notifications.Core"/>
<PackageReference Include="LINGYUN.Abp.Notifications.Emailing"/>
<PackageReference Include="LINGYUN.Abp.Notifications.SignalR"/>
<PackageReference Include="LINGYUN.Abp.Notifications.Application.Contracts"/>
<PackageReference Include="LINGYUN.Abp.Notifications.Application"/>
<PackageReference Include="LINGYUN.Abp.Notifications.Domain.Shared"/>
<PackageReference Include="LINGYUN.Abp.Notifications.Domain"/>
<PackageReference Include="LINGYUN.Abp.Notifications.EntityFrameworkCore"/>
<PackageReference Include="LINGYUN.Abp.Notifications.HttpApi"/>
<PackageReference Include="LINGYUN.Abp.Notifications.WeChat.MiniProgram"/>
<PackageReference Include="LINGYUN.Abp.Notifications.WeChat.Work"/>
<PackageReference Include="LINGYUN.Abp.OpenIddict.Application.Contracts"/>
<PackageReference Include="LINGYUN.Abp.OpenIddict.Application"/>
<PackageReference Include="LINGYUN.Abp.OpenIddict.HttpApi"/>
<PackageReference Include="LINGYUN.Abp.OpenIddict.LinkUser"/>
<PackageReference Include="LINGYUN.Abp.OpenIddict.Sms"/>
<PackageReference Include="LINGYUN.Abp.OpenIddict.Portal"/>
<PackageReference Include="LINGYUN.Abp.OpenIddict.WeChat"/>
<PackageReference Include="LINGYUN.Abp.OpenIddict.WeChat.Work"/>
<PackageReference Include="LINGYUN.Abp.OssManagement.Application.Contracts"/>
<PackageReference Include="LINGYUN.Abp.OssManagement.Application"/>
<PackageReference Include="LINGYUN.Abp.OssManagement.Domain.Shared"/>
<PackageReference Include="LINGYUN.Abp.OssManagement.Domain"/>
<PackageReference Include="LINGYUN.Abp.OssManagement.FileSystem"/>
<!-- <PackageReference Include="LINGYUN.Abp.OssManagement.Imaging" />-->
<!-- <PackageReference Include="LINGYUN.Abp.OssManagement.Minio" />-->
<PackageReference Include="LINGYUN.Abp.OssManagement.HttpApi"/>
<PackageReference Include="LINGYUN.Abp.OssManagement.SettingManagement"/>
<PackageReference Include="LINGYUN.Abp.PermissionManagement.Application"/>
<PackageReference Include="LINGYUN.Abp.PermissionManagement.Domain.OrganizationUnits"/>
<PackageReference Include="LINGYUN.Abp.PermissionManagement.HttpApi"/>
<PackageReference Include="LINGYUN.Abp.UI.Navigation.VueVbenAdmin"/>
<PackageReference Include="LINGYUN.Platform.Application.Contracts"/>
<PackageReference Include="LINGYUN.Platform.Application"/>
<PackageReference Include="LINGYUN.Platform.Domain.Shared"/>
<PackageReference Include="LINGYUN.Platform.Domain"/>
<PackageReference Include="LINGYUN.Platform.EntityFrameworkCore"/>
<PackageReference Include="LINGYUN.Platform.HttpApi"/>
<PackageReference Include="LINGYUN.Platform.Settings.VueVbenAdmin"/>
<PackageReference Include="LINGYUN.Platform.Theme.VueVbenAdmin"/>
<PackageReference Include="LINGYUN.Abp.Saas.Application.Contracts"/>
<PackageReference Include="LINGYUN.Abp.Saas.Domain.Shared"/>
<PackageReference Include="LINGYUN.Abp.Saas.Domain"/>
<PackageReference Include="LINGYUN.Abp.Saas.Application"/>
<PackageReference Include="LINGYUN.Abp.Saas.EntityFrameworkCore"/>
<PackageReference Include="LINGYUN.Abp.Saas.HttpApi"/>
<PackageReference Include="LINGYUN.Abp.SettingManagement.Application"/>
<PackageReference Include="LINGYUN.Abp.SettingManagement.HttpApi"/>
<!-- <PackageReference Include="LINGYUN.Abp.BackgroundTasks.Abstractions"/>-->
<!-- <PackageReference Include="LINGYUN.Abp.BackgroundTasks.Activities"/>-->
<!-- <PackageReference Include="LINGYUN.Abp.BackgroundTasks.DistributedLocking"/>-->
<!-- <PackageReference Include="LINGYUN.Abp.BackgroundTasks.EventBus"/>-->
<!-- <PackageReference Include="LINGYUN.Abp.BackgroundTasks.ExceptionHandling"/>-->
<!-- <PackageReference Include="LINGYUN.Abp.BackgroundTasks.Jobs"/>-->
<!-- <PackageReference Include="LINGYUN.Abp.BackgroundTasks.Notifications"/>-->
<!-- <PackageReference Include="LINGYUN.Abp.BackgroundTasks.Quartz"/>-->
<!-- <PackageReference Include="LINGYUN.Abp.BackgroundTasks"/>-->
<!-- <PackageReference Include="LINGYUN.Abp.TaskManagement.Application.Contracts"/>-->
<!-- <PackageReference Include="LINGYUN.Abp.TaskManagement.Application"/>-->
<!-- <PackageReference Include="LINGYUN.Abp.TaskManagement.Domain.Shared"/>-->
<!-- <PackageReference Include="LINGYUN.Abp.TaskManagement.Domain"/>-->
<!-- <PackageReference Include="LINGYUN.Abp.TaskManagement.EntityFrameworkCore"/>-->
<!-- <PackageReference Include="LINGYUN.Abp.TaskManagement.HttpApi"/>-->
<PackageReference Include="LINGYUN.Abp.TextTemplating.Application.Contracts"/>
<PackageReference Include="LINGYUN.Abp.TextTemplating.Application"/>
<PackageReference Include="LINGYUN.Abp.TextTemplating.Domain.Shared"/>
<PackageReference Include="LINGYUN.Abp.TextTemplating.Domain"/>
<PackageReference Include="LINGYUN.Abp.TextTemplating.EntityFrameworkCore"/>
<PackageReference Include="LINGYUN.Abp.TextTemplating.HttpApi"/>
<PackageReference Include="LINGYUN.Abp.Webhooks.Core"/>
<PackageReference Include="LINGYUN.Abp.Webhooks.EventBus"/>
<PackageReference Include="LINGYUN.Abp.Webhooks.Identity"/>
<PackageReference Include="LINGYUN.Abp.Webhooks.Saas"/>
<PackageReference Include="LINGYUN.Abp.WebhooksManagement.Application.Contracts"/>
<PackageReference Include="LINGYUN.Abp.WebhooksManagement.Application"/>
<PackageReference Include="LINGYUN.Abp.WebhooksManagement.Domain.Shared"/>
<PackageReference Include="LINGYUN.Abp.WebhooksManagement.Domain"/>
<PackageReference Include="LINGYUN.Abp.WebhooksManagement.EntityFrameworkCore"/>
<PackageReference Include="LINGYUN.Abp.WebhooksManagement.HttpApi"/>
<PackageReference Include="LINGYUN.Abp.Webhooks"/>
<PackageReference Include="Volo.Abp.BackgroundWorkers.Hangfire"/>
<PackageReference Include="Volo.Abp.BackgroundJobs.Hangfire"/>
<PackageReference Include="Hangfire.Redis.StackExchange"/>
</ItemGroup>
<ItemGroup>

1
aspnet-core/templates/aio/content/host/PackageName.CompanyName.ProjectName.AIO.Host/Program.cs

@ -76,6 +76,7 @@ app.UseSwaggerUI(options =>
options.SwaggerEndpoint("/swagger/v1/swagger.json", "Support App API");
});
app.UseAuditing();
app.UseAbpHangfireDashboard();
app.UseAbpSerilogEnrichers();
app.UseConfiguredEndpoints();

Loading…
Cancel
Save