Глобализация и локализация в do tnet core web api 3.1 с использованием VSCode - PullRequest
0 голосов
/ 13 января 2020

Я хочу добавить Глобализация и локализация в do tnet core web api, , хотя я пытался по следующей ссылке. https://docs.microsoft.com/en-us/aspnet/core/fundamentals/localization?view=aspnetcore-3.1

, однако мне это не удалось.

Вот мой код Startup.cs ...

services.AddLocalization(options => options.ResourcesPath = "Resources/Localization");
services.AddControllers() 
.AddViewLocalization(LanguageViewLocationExpanderFormat.Suffix, options => { options.ResourcesPath = "Resources/Localization"; })
.AddDataAnnotationsLocalization();

 services.Configure<RequestLocalizationOptions>(options => 
 {
     var cultures = new []
     {
         new CultureInfo("en"),
         new CultureInfo("fa")
     };
     options.DefaultRequestCulture = new RequestCulture("en");
     options.SupportedCultures = cultures;
     options.SupportedUICultures = cultures;
 });

Метод Configure содержит следующую команду:

public void Configure(IApplicationBuilder app, IWebHostEnvironment env, Seed seeder)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        } 

        // app.UseHttpsRedirection();
        app.UseRouting();
        //ADDING LOCATIONLIZATION
        app.UseRequestLocalization(app.ApplicationServices.GetRequiredService<IOptions<RequestLocalizationOptions>>().Value);

        app.UseAuthorization();

        app.UseEndpoints(endpoints =>
        {
            endpoints.MapControllers();
        });
    }

Вот структура папок ресурсов / локализации с .resx файлы.

enter image description here

Наконец, когда я собираю API do tnet с помощью команды do tnet build , которую он предоставляет следующая ошибка в код Visual Studio терминал.

/ Пользователи / naimdahee / Рабочий стол / ERPEra / ERPEra.API / Ресурсы / Локализация / ERPEra.en .resx: ошибка MSB3103: неверный файл Resx. System.NullReferenceException: ссылка на объект не установлена ​​для экземпляра объекта. [/Users/naimdahee/Desktop/ERPEra/ERPEra.API/ERPEra.API.csproj] /Users/naimdahee/Desktop/ERPEra/ERPEra.API/Resources/Localization/ERPEra.en.resx: ошибка MSB3103: в Microsoft.Build .Tasks.ResourceHandling.MSBuildResXReader.ReadResources (Stream s, имя строки, логическое pathsRelativeToBasePath) [/Users/naimdahee/Desktop/ERPEra/ERPEra.API/ERPEra.API.csproj] /UER/raimere /Resources/Localization/ERPEra.fa.resx: ошибка MSB3103: неверный файл Resx. System.NullReferenceException: ссылка на объект не установлена ​​для экземпляра объекта. [/Users/naimdahee/Desktop/ERPEra/ERPEra.API/ERPEra.API.csproj] /Users/naimdahee/Desktop/ERPEra/ERPEra.API/Resources/Localization/ERPEra.fa.resx: ошибка MSB3103: в Microsoft.Build .Tasks.ResourceHandling.MSBuildResXReader.ReadResources (Stream s, имя строки, логическое pathsRelativeToBasePath) [/Users/naimdahee/Desktop/ERPEra/ERPEra.API/ERPEra.API.csproj]

* 1033.

.

/ Пользователи / naimdahee / Рабочий стол / ERPEra / ERPEra.API / Ресурсы / Локализация / ERPEra.en.resx: ошибка MSB3103: Неверный файл Resx. System.NullReferenceException: ссылка на объект не установлена ​​для экземпляра объекта. [/Users/naimdahee/Desktop/ERPEra/ERPEra.API/ERPEra.API.csproj] /Users/naimdahee/Desktop/ERPEra/ERPEra.API/Resources/Localization/ERPEra.en.resx: ошибка MSB3103: в Microsoft.Build .Tasks.ResourceHandling.MSBuildResXReader.ReadResources (Stream s, имя строки, логическое pathsRelativeToBasePath) [/Users/naimdahee/Desktop/ERPEra/ERPEra.API/ERPEra.API.csproj] /UER/raimere /Resources/Localization/ERPEra.fa.resx: ошибка MSB3103: неверный файл Resx. System.NullReferenceException: ссылка на объект не установлена ​​для экземпляра объекта. [/Users/naimdahee/Desktop/ERPEra/ERPEra.API/ERPEra.API.csproj] /Users/naimdahee/Desktop/ERPEra/ERPEra.API/Resources/Localization/ERPEra.fa.resx: ошибка MSB3103: в Microsoft.Build .Tasks.ResourceHandling.MSBuildResXReader.ReadResources (Stream s, String filename, Boolean pathsRelativeToBasePath) [/Users/naimdahee/Desktop/ERPEra/ERPEra.API/ERPEra.API.csproj] 0 Предупреждение (с) 10 с (2) ошибки (с) 10 с *

...