Я хочу добавить файл ресурсов в свое приложение. Проблема в том, что когда я пытаюсь построить свое решение, я получаю сообщение об ошибке MSB3086 с описанием «Задача не может найти« al.exe »с помощью SdkTollsPath» »или ключом реестра« HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Microsoft SDKs \ NETFXSDK \ 4.7.2 \ WinSDK-NetFx40Tools-x86 ". Убедитесь, что SdkToolsPath установлен и инструмент существует в правильном расположении процессора c в SdkTollsPath и что установлен Microsoft Windows SDK." Проблема возникает, только когда я пытаюсь назвать свой файл ресурсов, включая информацию о культуре, как показано ниже:

Если я изменил имя на UsersController. Resx все компилируется, но я не могу получить никакого значения из файла ресурсов. Вот фрагмент кода, отвечающий за конфигурацию из моего класса запуска:
services.AddLocalization(opts => { opts.ResourcesPath = "Tabler.WebApi/Resources"; }); //ConfigureServices
app.UseRequestLocalization(options => //Configure method
{
IList<CultureInfo> supportedCultures = new List<CultureInfo>
{
new CultureInfo("en-US"),
};
options.DefaultRequestCulture = new RequestCulture("en-US");
options.SupportedCultures = supportedCultures;
options.SupportedUICultures = supportedCultures;
});
Здесь я внедряю IStringLocalizer (я не могу извлечь из него данные, если я создаю приложение с именем файла «UsersController.resx»):
[ApiController]
[Route("api/[controller]")]
public class UsersController : ControllerBase
{
private readonly IUserService _userService;
private readonly ITokenGenerator _tokenGenerator;
private readonly IStringLocalizer<UsersController> _stringLocalizer;
public UsersController(IUserService userService, ITokenGenerator tokenGenerator, IStringLocalizer<UsersController> stringLocalizer) : base()
{
this._userService = userService;
this._tokenGenerator = tokenGenerator;
this._stringLocalizer = stringLocalizer;
}
Что я делаю не так?