You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core MVC多语言项目资源文件未找到问题求助

解决ASP.NET Core控制器本地化资源找不到的问题

我帮你梳理几个关键排查点和配置步骤,应该能解决你的资源文件找不到的问题:

1. 确保ConfigureServices中的本地化配置正确

ASP.NET Core默认的资源查找逻辑需要正确配置才能识别你放在/Resources/Controllers/下的文件。你需要在ConfigureServices中明确指定资源路径,同时设置正确的本地化选项:

public void ConfigureServices(IServiceCollection services)
{
    // 添加本地化服务,指定资源文件根目录
    services.AddLocalization(options => options.ResourcesPath = "Resources");

    services.AddControllersWithViews()
        .AddViewLocalization(LanguageViewLocationExpanderFormat.Suffix)
        .AddDataAnnotationsLocalization();

    // 配置支持的文化列表
    services.Configure<RequestLocalizationOptions>(options =>
    {
        var supportedCultures = new[]
        {
            new CultureInfo("en"),
            new CultureInfo("fa")
        };

        options.DefaultRequestCulture = new RequestCulture("en");
        options.SupportedCultures = supportedCultures;
        options.SupportedUICultures = supportedCultures;
    });
}

这里的options.ResourcesPath = "Resources"是核心配置,它告诉框架去Resources目录下按层级查找资源文件,完美匹配你的Resources/Controllers/HomeController.fa.resx路径结构。

2. 检查资源文件的生成操作

右键你的HomeController.fa.resx文件,查看属性面板中的生成操作,必须设置为嵌入的资源——如果这个选项不对,编译后资源不会被嵌入程序集,框架自然找不到对应的内容。

3. 控制器中正确注入并使用IStringLocalizer

确保你在控制器中注入的是对应控制器类型的IStringLocalizer,示例代码如下:

public class HomeController : Controller
{
    private readonly IStringLocalizer<HomeController> _localizer;

    // 注入对应控制器的本地化器
    public HomeController(IStringLocalizer<HomeController> localizer)
    {
        _localizer = localizer;
    }

    public IActionResult Index()
    {
        // 读取本地化资源中的键值
        var welcomeText = _localizer["WelcomeMessage"];
        return View();
    }
}

框架会根据HomeController的类型,自动匹配Resources/Controllers/HomeController.fa.resx中的资源项,这和你的文件命名、路径完全对应。

4. 清理编译缓存重试

如果以上配置都没问题但还是找不到资源,可以尝试清理解决方案的bin/obj目录,然后重新编译——有时候旧的编译缓存会导致资源无法被正确识别。


内容的提问来源于stack exchange,提问作者user6746850

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 03:45:00