Linux 问题处理:Set the configuration flag System.Globalization.

背景:在linux上发布的.net core接口程序,在原有的服务器上是正常的,但拷贝程序到另一台服务器,运行程序时报错,错误信息如下:

Process terminated. Couldn't find a valid ICU package installed on the system. 
Set the configuration flag System.Globalization.
Invariant to true if you want to run with no globalization support.
   at System.Environment.FailFast(System.String)
   at System.Globalization.GlobalizationMode.GetGlobalizationInvariantMode()
   at System.Globalization.GlobalizationMode..cctor()
   at System.Globalization.CultureData.CreateCultureWithInvariantData()
   at System.Globalization.CultureData.get_Invariant()
   at System.Globalization.CultureInfo..cctor()
   at System.Globalization.CultureInfo.GetCultureInfoHelper(Int32, System.String, System.String)
   at System.Globalization.CultureInfo.GetCultureInfo(System.String)
   at System.Reflection.RuntimeAssembly.GetLocale()
   at System.Reflection.RuntimeAssembly.GetName(Boolean)
   at System.Reflection.Assembly.GetName()
   at System.AppDomain.get_FriendlyName()
   at NLog.Internal.Fakeables.AppDomainWrapper..ctor(System.AppDomain)
   at NLog.LogFactory.get_DefaultAppEnvironment()
   at NLog.LogFactory.get_CurrentAppDomain()
   at NLog.LogFactory..cctor()
   at NLog.LogFactory..ctor()
   at NLog.LogManager..cctor()
   at NLog.LogManager.GetLogger(System.String)
   at MideaCloud.SCADA.AutomationLine.Program.Main(System.String[])

解决方法:

需要修改项目的runtimeconfig.json 文件

1、找到文件

#进入发布文件夹,找到runtimeconfig.json文件
find ./ -name *runtimeconfig.json*

2、修改文件中的配置项

在configProperties中新建System.Globalization.Invariant项并设置为true,如下图

保存文件后重新运行程序,运行成功。

参考:https://docs.microsoft.com/zh-cn/dotnet/core/run-time-config/globalization

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zouzh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值