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;
using Elsa.Options; using Elsa.Options;
using Hangfire;
using Hangfire.Redis.StackExchange;
using LINGYUN.Abp.Aliyun.Localization; using LINGYUN.Abp.Aliyun.Localization;
using LINGYUN.Abp.BackgroundTasks;
using LINGYUN.Abp.DataProtectionManagement;
using LINGYUN.Abp.ExceptionHandling; using LINGYUN.Abp.ExceptionHandling;
using LINGYUN.Abp.ExceptionHandling.Emailing; using LINGYUN.Abp.ExceptionHandling.Emailing;
using LINGYUN.Abp.Exporter.MiniExcel; using LINGYUN.Abp.Exporter.MiniExcel;
@ -29,7 +29,6 @@ using LINGYUN.Abp.WeChat.Work;
using LINGYUN.Abp.Wrapper; using LINGYUN.Abp.Wrapper;
using LINGYUN.Platform.Localization; using LINGYUN.Platform.Localization;
using PackageName.CompanyName.ProjectName.AIO.Host.Microsoft.Extensions.DependencyInjection; using PackageName.CompanyName.ProjectName.AIO.Host.Microsoft.Extensions.DependencyInjection;
using PackageName.CompanyName.ProjectName.EntityFrameworkCore;
using Medallion.Threading; using Medallion.Threading;
using Medallion.Threading.Redis; using Medallion.Threading.Redis;
using Microsoft.AspNetCore.Authentication.Cookies; using Microsoft.AspNetCore.Authentication.Cookies;
@ -41,13 +40,11 @@ using Microsoft.AspNetCore.Server.Kestrel.Core;
using Microsoft.Extensions.Caching.StackExchangeRedis; using Microsoft.Extensions.Caching.StackExchangeRedis;
using Microsoft.IdentityModel.Logging; using Microsoft.IdentityModel.Logging;
using Microsoft.OpenApi.Models; using Microsoft.OpenApi.Models;
using MiniExcelLibs.Attributes;
using OpenIddict.Server; using OpenIddict.Server;
using OpenIddict.Server.AspNetCore; using OpenIddict.Server.AspNetCore;
using PackageName.CompanyName.ProjectName.AIO.Host.Authentication; using PackageName.CompanyName.ProjectName.AIO.Host.Authentication;
using PackageName.CompanyName.ProjectName.AIO.Host.IdentityResources; using PackageName.CompanyName.ProjectName.AIO.Host.IdentityResources;
using PackageName.CompanyName.ProjectName.AIO.Host.WeChat.Official.Messages; using PackageName.CompanyName.ProjectName.AIO.Host.WeChat.Official.Messages;
using Quartz;
using StackExchange.Redis; using StackExchange.Redis;
using System.Security.Cryptography; using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates; using System.Security.Cryptography.X509Certificates;
@ -56,9 +53,11 @@ using System.Text.Unicode;
using Volo.Abp; using Volo.Abp;
using Volo.Abp.AspNetCore.Mvc; using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.AspNetCore.Mvc.AntiForgery; using Volo.Abp.AspNetCore.Mvc.AntiForgery;
using Volo.Abp.AspNetCore.Mvc.Libs;
using Volo.Abp.AspNetCore.Mvc.UI.Bundling; using Volo.Abp.AspNetCore.Mvc.UI.Bundling;
using Volo.Abp.Auditing; using Volo.Abp.Auditing;
using Volo.Abp.Authorization.Permissions; using Volo.Abp.Authorization.Permissions;
using Volo.Abp.BackgroundWorkers;
using Volo.Abp.BlobStoring; using Volo.Abp.BlobStoring;
using Volo.Abp.BlobStoring.FileSystem; using Volo.Abp.BlobStoring.FileSystem;
using Volo.Abp.Caching; using Volo.Abp.Caching;
@ -77,7 +76,6 @@ using Volo.Abp.MultiTenancy;
using Volo.Abp.OpenIddict; using Volo.Abp.OpenIddict;
using Volo.Abp.OpenIddict.Localization; using Volo.Abp.OpenIddict.Localization;
using Volo.Abp.PermissionManagement; using Volo.Abp.PermissionManagement;
using Volo.Abp.Quartz;
using Volo.Abp.Security.Claims; using Volo.Abp.Security.Claims;
using Volo.Abp.SettingManagement; using Volo.Abp.SettingManagement;
using Volo.Abp.SettingManagement.Localization; 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) private void PreConfigureElsa(IServiceCollection services, IConfiguration configuration)
{ {
var elsaSection = configuration.GetSection("Elsa"); 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) private void ConfigureTextTemplating(IConfiguration configuration)
{ {
if (configuration.GetValue<bool>("TextTemplating:IsDynamicStoreEnabled")) 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() 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.QQ;
using LINGYUN.Abp.Authentication.WeChat; using LINGYUN.Abp.Authentication.WeChat;
using LINGYUN.Abp.Authorization.OrganizationUnits; 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;
using LINGYUN.Abp.CachingManagement.StackExchangeRedis; using LINGYUN.Abp.CachingManagement.StackExchangeRedis;
using LINGYUN.Abp.Dapr.Client;
using LINGYUN.Abp.Data.DbMigrator; using LINGYUN.Abp.Data.DbMigrator;
using LINGYUN.Abp.DataProtectionManagement; using LINGYUN.Abp.DataProtectionManagement;
using LINGYUN.Abp.DataProtectionManagement.EntityFrameworkCore; using LINGYUN.Abp.DataProtectionManagement.EntityFrameworkCore;
// using LINGYUN.Abp.Demo;
// using LINGYUN.Abp.Demo.EntityFrameworkCore;
using LINGYUN.Abp.ExceptionHandling; using LINGYUN.Abp.ExceptionHandling;
using LINGYUN.Abp.ExceptionHandling.Emailing; using LINGYUN.Abp.ExceptionHandling.Emailing;
using LINGYUN.Abp.Exporter.MiniExcel; using LINGYUN.Abp.Exporter.MiniExcel;
@ -66,7 +55,6 @@ using LINGYUN.Abp.OpenIddict.WeChat;
using LINGYUN.Abp.OpenIddict.WeChat.Work; using LINGYUN.Abp.OpenIddict.WeChat.Work;
using LINGYUN.Abp.OssManagement; using LINGYUN.Abp.OssManagement;
using LINGYUN.Abp.OssManagement.FileSystem; using LINGYUN.Abp.OssManagement.FileSystem;
// using LINGYUN.Abp.OssManagement.Imaging;
using LINGYUN.Abp.OssManagement.SettingManagement; using LINGYUN.Abp.OssManagement.SettingManagement;
using LINGYUN.Abp.PermissionManagement; using LINGYUN.Abp.PermissionManagement;
using LINGYUN.Abp.PermissionManagement.HttpApi; using LINGYUN.Abp.PermissionManagement.HttpApi;
@ -77,8 +65,6 @@ using LINGYUN.Abp.Serilog.Enrichers.Application;
using LINGYUN.Abp.Serilog.Enrichers.UniqueId; using LINGYUN.Abp.Serilog.Enrichers.UniqueId;
using LINGYUN.Abp.SettingManagement; using LINGYUN.Abp.SettingManagement;
using LINGYUN.Abp.Sms.Aliyun; using LINGYUN.Abp.Sms.Aliyun;
using LINGYUN.Abp.TaskManagement;
using LINGYUN.Abp.TaskManagement.EntityFrameworkCore;
using LINGYUN.Abp.Tencent.QQ; using LINGYUN.Abp.Tencent.QQ;
using LINGYUN.Abp.Tencent.SettingManagement; using LINGYUN.Abp.Tencent.SettingManagement;
using LINGYUN.Abp.TextTemplating; 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.Mvc.UI.Theme.Basic;
using Volo.Abp.AspNetCore.Serilog; using Volo.Abp.AspNetCore.Serilog;
using Volo.Abp.Autofac; using Volo.Abp.Autofac;
using Volo.Abp.BackgroundJobs.Hangfire;
using Volo.Abp.BackgroundWorkers.Hangfire;
using Volo.Abp.Caching.StackExchangeRedis; using Volo.Abp.Caching.StackExchangeRedis;
using Volo.Abp.Data; using Volo.Abp.Data;
using Volo.Abp.EntityFrameworkCore.PostgreSql;
using Volo.Abp.EventBus; using Volo.Abp.EventBus;
using Volo.Abp.FeatureManagement.EntityFrameworkCore; using Volo.Abp.FeatureManagement.EntityFrameworkCore;
using Volo.Abp.Imaging; using Volo.Abp.Imaging;
@ -124,20 +113,9 @@ using Volo.Abp.PermissionManagement.OpenIddict;
using Volo.Abp.SettingManagement; using Volo.Abp.SettingManagement;
using Volo.Abp.SettingManagement.EntityFrameworkCore; using Volo.Abp.SettingManagement.EntityFrameworkCore;
using Volo.Abp.Threading; using Volo.Abp.Threading;
#if MySQL // using LINGYUN.Abp.Demo;
using Volo.Abp.EntityFrameworkCore.MySQL; // using LINGYUN.Abp.Demo.EntityFrameworkCore;
#elif SqlServer // using LINGYUN.Abp.OssManagement.Imaging;
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
namespace PackageName.CompanyName.ProjectName.AIO.Host; namespace PackageName.CompanyName.ProjectName.AIO.Host;
@ -172,12 +150,6 @@ namespace PackageName.CompanyName.ProjectName.AIO.Host;
typeof(AbpNotificationsApplicationModule), typeof(AbpNotificationsApplicationModule),
typeof(AbpNotificationsHttpApiModule), typeof(AbpNotificationsHttpApiModule),
typeof(AbpNotificationsEntityFrameworkCoreModule), typeof(AbpNotificationsEntityFrameworkCoreModule),
//typeof(AbpIdentityServerSessionModule),
//typeof(AbpIdentityServerApplicationModule),
//typeof(AbpIdentityServerHttpApiModule),
//typeof(AbpIdentityServerEntityFrameworkCoreModule),
typeof(AbpOpenIddictAspNetCoreModule), typeof(AbpOpenIddictAspNetCoreModule),
typeof(AbpOpenIddictAspNetCoreSessionModule), typeof(AbpOpenIddictAspNetCoreSessionModule),
typeof(AbpOpenIddictApplicationModule), typeof(AbpOpenIddictApplicationModule),
@ -188,6 +160,9 @@ namespace PackageName.CompanyName.ProjectName.AIO.Host;
typeof(AbpOpenIddictWeChatModule), typeof(AbpOpenIddictWeChatModule),
typeof(AbpOpenIddictWeChatWorkModule), typeof(AbpOpenIddictWeChatWorkModule),
typeof(AbpBackgroundWorkersHangfireModule),
typeof(AbpBackgroundJobsHangfireModule),
//typeof(AbpOssManagementMinioModule), // 取消注释以使用Minio //typeof(AbpOssManagementMinioModule), // 取消注释以使用Minio
typeof(AbpOssManagementFileSystemModule), typeof(AbpOssManagementFileSystemModule),
// typeof(AbpOssManagementImagingModule), // typeof(AbpOssManagementImagingModule),
@ -210,11 +185,6 @@ namespace PackageName.CompanyName.ProjectName.AIO.Host;
typeof(AbpSaasHttpApiModule), typeof(AbpSaasHttpApiModule),
typeof(AbpSaasEntityFrameworkCoreModule), typeof(AbpSaasEntityFrameworkCoreModule),
typeof(TaskManagementDomainModule),
typeof(TaskManagementApplicationModule),
typeof(TaskManagementHttpApiModule),
typeof(TaskManagementEntityFrameworkCoreModule),
typeof(AbpTextTemplatingDomainModule), typeof(AbpTextTemplatingDomainModule),
typeof(AbpTextTemplatingApplicationModule), typeof(AbpTextTemplatingApplicationModule),
typeof(AbpTextTemplatingHttpApiModule), typeof(AbpTextTemplatingHttpApiModule),
@ -246,19 +216,7 @@ namespace PackageName.CompanyName.ProjectName.AIO.Host;
typeof(AbpPermissionManagementEntityFrameworkCoreModule), typeof(AbpPermissionManagementEntityFrameworkCoreModule),
typeof(AbpPermissionManagementDomainOrganizationUnitsModule), // 组织机构权限管理 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), typeof(AbpEntityFrameworkCorePostgreSqlModule),
#endif
typeof(AbpAliyunSmsModule), typeof(AbpAliyunSmsModule),
typeof(AbpAliyunSettingManagementModule), typeof(AbpAliyunSettingManagementModule),
@ -268,24 +226,9 @@ namespace PackageName.CompanyName.ProjectName.AIO.Host;
typeof(AbpAuthorizationOrganizationUnitsModule), typeof(AbpAuthorizationOrganizationUnitsModule),
typeof(AbpIdentityOrganizaztionUnitsModule), typeof(AbpIdentityOrganizaztionUnitsModule),
typeof(AbpBackgroundTasksModule),
typeof(AbpBackgroundTasksActivitiesModule),
typeof(AbpBackgroundTasksDistributedLockingModule),
typeof(AbpBackgroundTasksEventBusModule),
typeof(AbpBackgroundTasksExceptionHandlingModule),
typeof(AbpBackgroundTasksJobsModule),
typeof(AbpBackgroundTasksNotificationsModule),
typeof(AbpBackgroundTasksQuartzModule),
typeof(AbpDataProtectionManagementApplicationModule), typeof(AbpDataProtectionManagementApplicationModule),
typeof(AbpDataProtectionManagementHttpApiModule), typeof(AbpDataProtectionManagementHttpApiModule),
typeof(AbpDataProtectionManagementEntityFrameworkCoreModule), typeof(AbpDataProtectionManagementEntityFrameworkCoreModule),
// typeof(AbpDemoApplicationModule),
// typeof(AbpDemoHttpApiModule),
// typeof(AbpDemoEntityFrameworkCoreModule),
typeof(AbpDaprClientModule),
typeof(AbpExceptionHandlingModule), typeof(AbpExceptionHandlingModule),
typeof(AbpEmailingExceptionHandlingModule), typeof(AbpEmailingExceptionHandlingModule),
typeof(AbpFeaturesLimitValidationModule), typeof(AbpFeaturesLimitValidationModule),
@ -327,17 +270,6 @@ namespace PackageName.CompanyName.ProjectName.AIO.Host;
typeof(AbpAccountTemplatesModule), typeof(AbpAccountTemplatesModule),
typeof(AbpAspNetCoreAuthenticationJwtBearerModule), typeof(AbpAspNetCoreAuthenticationJwtBearerModule),
typeof(AbpCachingStackExchangeRedisModule), 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(AbpExporterMiniExcelModule),
typeof(AbpAspNetCoreMvcUiMultiTenancyModule), typeof(AbpAspNetCoreMvcUiMultiTenancyModule),
typeof(AbpAspNetCoreSerilogModule), typeof(AbpAspNetCoreSerilogModule),
@ -348,7 +280,7 @@ namespace PackageName.CompanyName.ProjectName.AIO.Host;
typeof(AbpAspNetCoreMvcUiBasicThemeModule), typeof(AbpAspNetCoreMvcUiBasicThemeModule),
typeof(AbpEventBusModule), typeof(AbpEventBusModule),
typeof(AbpAutofacModule), typeof(AbpAutofacModule),
typeof(ProjectNameApplicationModule), typeof(ProjectNameApplicationModule),
typeof(ProjectNameHttpApiModule), typeof(ProjectNameHttpApiModule),
typeof(ProjectNameEntityFrameworkCoreModule), typeof(ProjectNameEntityFrameworkCoreModule),
@ -365,7 +297,6 @@ public partial class MicroServiceApplicationsSingleModule : AbpModule
PreConfigureFeature(); PreConfigureFeature();
PreConfigureIdentity(); PreConfigureIdentity();
PreConfigureApp(configuration); PreConfigureApp(configuration);
PreConfigureQuartz(configuration);
PreConfigureAuthServer(configuration); PreConfigureAuthServer(configuration);
PreConfigureElsa(context.Services, configuration); PreConfigureElsa(context.Services, configuration);
PreConfigureCertificate(configuration, hostingEnvironment); PreConfigureCertificate(configuration, hostingEnvironment);
@ -386,7 +317,7 @@ public partial class MicroServiceApplicationsSingleModule : AbpModule
ConfigureDataSeeder(); ConfigureDataSeeder();
ConfigureLocalization(); ConfigureLocalization();
ConfigureKestrelServer(); ConfigureKestrelServer();
ConfigureBackgroundTasks(); ConfigureHangfire(context.Services, configuration);
ConfigureExceptionHandling(); ConfigureExceptionHandling();
ConfigureVirtualFileSystem(); ConfigureVirtualFileSystem();
ConfigureEntityDataProtected(); ConfigureEntityDataProtected();

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

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

Loading…
Cancel
Save