.net - 不支持文化1033(0x0409)

标签 .net docker .net-core alpine icu

我正在使用dotnet 2.2镜像在以下环境中运行我的服务应用程序:docker windows(Linux容器)

FROM mcr.microsoft.com/dotnet/core/sdk:2.2-alpine AS build-env


并遇到以下错误:

System.Globalization.CultureNotFoundException:不支持文化。参数名称:文化| 1033(0x0409)是无效的区域性标识符。

我已经在docker file上设置了以下内容。生成没有问题,但在运行应用程序时仍显示错误

# Set the locale
ENV LANG C.UTF-8
ENV LC_ALL C.UTF-8 

最佳答案

这可行。

更新解决方案:
我在teamcity,基于linux的环境中运行了相同的docker镜像,根本不需要多余的行来定义代码页。

因此,此问题仅发生在Windows 10上运行的docker windows(Linux容器)上。

# Disable the invariant mode (set in base image)
RUN apk add --no-cache icu-libs

ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false \
    LC_ALL=en_US.UTF-8 \
    LANG=en_US.UTF-8

关于.net - 不支持文化1033(0x0409),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59024735/

相关文章:

.net - 对于无效的文件名应该抛出哪个异常?

c# - .NET 库打印 PDF 文件

c# - C# 中删除文件中的特定字符串

docker - Rails与Docker-compose:如何设置数据库主机

node.js - 使用 docker 的简单 Node.js 工作流程

amazon-web-services - docker 已死但pidfile存在

c# - 从 .NET Core 2.2 迁移到 3.0-preview-9 后模型绑定(bind)停止工作

c# - 从 Azure 表存储获取 1000 多个数据集

azure - 从模板 .net Core 应用程序访问 Graph Api

C# .NET Rx-System.Reactive 在哪里?