我正在使用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/