Ok
I originally wanted to extend my subscription for one year. The original price was discounted by 40%, but why is the Black Friday discount even smaller now?
I tried to resolve it through inheritance, but it caused another error.
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.AspNetCore.Mvc.UI.Bundling;
using Volo.Abp.AspNetCore.Mvc.UI.Packages.JsTree;
using Volo.Abp.AspNetCore.Mvc.UI.Theme.Lepton;
using Volo.Abp.AspNetCore.Mvc.UI.Theme.Lepton.Bundling;
using Volo.Abp.AspNetCore.Mvc.UI.Theme.Lepton.ObjectMapping;
using Volo.Abp.AspNetCore.Mvc.UI.Theme.Lepton.Themes.Lepton.Libraries.JsTree;
using Volo.Abp.AspNetCore.Mvc.UI.Theme.Lepton.Toolbars;
using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared;
using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Bundling;
using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Toolbars;
using Volo.Abp.AspNetCore.Mvc.UI.Theming;
using Volo.Abp.AutoMapper;
using Volo.Abp.Modularity;
using Volo.Abp.VirtualFileSystem;
namespace Mulan.One.Public.Web.Themes.Lepton;
public class MulanAbpAspNetCoreMvcUiLeptonThemeModule : AbpAspNetCoreMvcUiLeptonThemeModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
Configure<AbpThemingOptions>(options =>
{
options.Themes.Add<LeptonTheme>();
if (options.DefaultThemeName == null)
{
options.DefaultThemeName = LeptonTheme.Name;
}
});
// 和 LeptonXTheme 重覆了,會造成 runtime 錯誤
// ArgumentException: An item with the same key has already been added. Key: 401
// Configure<AbpErrorPageOptions>(options =>
// {
// options.ErrorViewUrls.Add("401", "~/Views/Error/401.cshtml");
// options.ErrorViewUrls.Add("403", "~/Views/Error/403.cshtml");
// options.ErrorViewUrls.Add("404", "~/Views/Error/404.cshtml");
// options.ErrorViewUrls.Add("500", "~/Views/Error/500.cshtml");
// });
Configure<AbpVirtualFileSystemOptions>(options =>
{
options.FileSets.AddEmbedded<AbpAspNetCoreMvcUiLeptonThemeModule>();
});
Configure<AbpToolbarOptions>(options =>
{
options.Contributors.Add(new LeptonThemeMainTopToolbarContributor());
});
Configure<AbpBundlingOptions>(options =>
{
options
.StyleBundles
.Add(LeptonThemeBundles.Styles.Global, bundle =>
{
bundle
.AddBaseBundles(StandardBundles.Styles.Global)
.AddContributors(typeof(LeptonGlobalStyleContributor));
});
options
.ScriptBundles
.Add(LeptonThemeBundles.Scripts.Global, bundle =>
{
bundle
.AddBaseBundles(StandardBundles.Scripts.Global)
.AddContributors(typeof(LeptonGlobalScriptContributor));
});
});
Configure<AbpBundleContributorOptions>(options =>
{
options.Extensions<JsTreeStyleContributor>()
.Add<LeptonJsTreeStyleContributorExtension>();
});
context.Services.AddAutoMapperObjectMapper<AbpAspNetCoreMvcUiLeptonThemeModule>();
Configure<AbpAutoMapperOptions>(options =>
{
options.AddProfile<LeptonThemeAutoMapperProfile>(validate: true);
});
}
}
Are there any solutions to this problem?
That is a built-in module in ABP. I think I found the reason. You must execute:
options.UseAutofac();
internal class Program { private static async Task Main(string[] args) { using var app = await AbpApplicationFactory.CreateAsync<AbpEmailingModule>();
await app.InitializeAsync();
var settingProvider = app.ServiceProvider.GetRequiredService<ISettingProvider>();
var test = await settingProvider.GetOrNullAsync(EmailSettingNames.DefaultFromAddress);
}
}
Unhandled exception. Volo.Abp.AbpException: Undefined setting: Abp.Mailing.DefaultFromAddress at Volo.Abp.Settings.SettingDefinitionManager.GetAsync(String name) at Volo.Abp.Settings.SettingProvider.GetOrNullAsync(String name) at TwAbp.Emailing.Surenotify.ConsoleTest.Program.Main(String[] args) in /Users/rex/Documents/surenotify-emailing/TwAbp.Emailing.Surenotify/TwAbp.Emailing.Surenotify.ConsoleTest/Program.cs:line 19 at TwAbp.Emailing.Surenotify.ConsoleTest.Program.<Main>(String[] args)
Process finished with exit code 134.
I would like to ask, if I have implemented both MailKit and another similar email sending module, how can I allow tenants to choose one of them to send emails through configuration?
I’m heading in the same direction as well. Thank you for your response.