No service for type 'Microsoft.AspNetCore.Mvc.Localization.IHtmlLocalizer' has been registered
asp.net, asp.net-core, asp.net-mvc-4, globalization, localization
Solution
Add a type to the IHtmlLocalizer like the docs demonstrate.
@inject IHtmlLocalizer<MyType> MyTypeLocalizer
Also, I noticed that you have not registered the `ViewLocalization` service. You might need to do that too.
public void ConfigureServices(IServiceCollection services)
{
services
.AddLocalization(options => options.ResourcesPath = "Resources");
services
.AddMvc()
.AddViewLocalization(LanguageViewLocationExpanderFormat.Suffix;
...
Problem
I try with ASP.Core to have a multilanguages website. So, I have in my StartUp.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 my _ViewImports.cs I have: ``` @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 ``` The errors: ``` An unhandled exception occurred while processing the request. InvalidOperationException: No service for type 'Microsoft.AspNetCore.Mvc.Localization.IHtmlLocalizer' has been registered. ```