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

ASP.NET Core 8.0本地化在本地正常但Docker容器中失效的问题求助

ASP.NET Core 8.0本地化在本地正常但Docker容器中失效的问题求助

我最近在开发一个带本地化支持的ASP.NET Core 8.0项目,在Windows本地用dotnet run运行时一切正常,所有翻译后的字符串都能正确显示。但把项目打包成Linux镜像、用Docker运行容器后,本地化功能直接失效了——本该返回对应语言的翻译文本,结果现在直接显示资源键(比如显示ITEM_NOT_FOUND而不是对应的本地化内容Items with id {0} is not found!)。

我在Program.cs里的本地化配置代码如下:

services.AddLocalization(options => options.ResourcesPath = "Resources");
services.Configure<RequestLocalizationOptions>(options =>
{
    var supportedCultures = new List<CultureInfo>
    {
        new("fr"),
        new("fr-FR"),
        new("en"),
        new("en-US")
    };
    options.DefaultRequestCulture = new RequestCulture("en");
    options.SupportedCultures = supportedCultures;
    options.SupportedUICultures = supportedCultures;
});

我自己怀疑问题出在Windows开发机和Linux容器的环境差异上,比如区域性回退行为的不同,或者是Linux容器里缺少了全球化相关的数据?

我已经尝试过调整中间件顺序了——按照相关指引把UseRequestLocalization放在MapControllers和MapHealthChecks("/health")之前,但好像没起作用。

有没有朋友遇到过ASP.NET Core在Docker里运行时的这类本地化问题?如果有的话,是怎么解决的?

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.07 11:48:09