Kein service für den Typ 'Microsoft.AspNetCore.Mvc.Die Lokalisierung.IHtmlLocalizer' registriert wurde
Ich versuche mit ASP.Kern eine multilanguages website. So, ich habe in meinem Autostart.cs:
public void ConfigureServices(IServiceCollection services)
{
services.AddLocalization();
services.Configure<RequestLocalizationOptions>(
opts =>
{
var supportedCultures = new[]
{
new CultureInfo("de-DE"),
new CultureInfo("de"),
new CultureInfo("fr-FR"),
new CultureInfo("fr"),
};
opts.DefaultRequestCulture = new RequestCulture("fr-FR");
//Formatting numbers, dates, etc.
opts.SupportedCultures = supportedCultures;
//UI strings that we have localized.
opts.SupportedUICultures = supportedCultures;
});
//Add framework services.
services.AddDbContext<ApplicationDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
services.AddIdentity<ApplicationUser, IdentityRole>()
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
services.AddMvc();
//Add application services.
services.AddTransient<IEmailSender, AuthMessageSender>();
services.AddTransient<ISmsSender, AuthMessageSender>();
}
In meinem _ViewImports.cs habe ich noch:
@using System.Threading.Tasks
@using Microsoft.AspNetCore.Builder
@using Microsoft.AspNetCore.Localization
@using Microsoft.AspNetCore.Mvc.Localization
@using Microsoft.Extensions.Options
@inject IHtmlLocalizer Localizer
@inject IOptions<RequestLocalizationOptions> LocOptions
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
Den Fehler:
An unhandled exception occurred while processing the request.
InvalidOperationException: No service for type 'Microsoft.AspNetCore.Mvc.Localization.IHtmlLocalizer' has been registered.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fügen Sie ein Typ ist, der IHtmlLocalizer wie die Dokumente zeigen.
Auch, bemerkte ich, dass Sie sich noch nicht registriert haben, die
ViewLocalization
service. Möglicherweise müssen Sie das auch tun.