.Net 5在CentOS 7部署问题Couldn’t find a valid ICU package installed on the system

18 篇文章 3 订阅

背景:最近项目往CentOS 7上迁移部署,发现在正式服务器部署时发现一个问题,如图:

 

 解决:根据提示,确实是系统内少相关包;那么问题来了,ICU库是干啥的,问一下度娘:

ICU(International Component for Unicode/Unicode国际化组件) 是 Unicode 支持、软件国际化、全球化的一个成熟的、广泛应用的库,是一个由 IBM 赞助、支持和使用的,基于"IBM公共许可证",用于支持软件国际化的开源项目。

好了,百度了我大概知道了,.Net 5程序部署在CentOS中肯定是因为一些库因为不国际化出错。问了同事,在项目文件中加一句就好了,先上解决方法:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <RuntimeHostConfigurationOption Include="System.Globalization.Invariant" Value="true"/>
  </PropertyGroup>

</Project>

拓展:

全球化不变模式(.NET Core 2.0 中的新功能)使您能够消除应用程序对全球化数据和全球化行为的依赖。如果您更关心减少依赖关系和分发大小而不是全球化功能或全球化正确性,则此模式是一种可选功能,可提供更大的灵活性。

在不变模式下运行的缺点是应用程序将获得较差的全球化支持。仅向了解全球化及其缺失的影响的开发人员推荐此新选项。

详细介绍:

runtime/globalization-invariant-mode.md at main · dotnet/runtime · GitHub.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps. - runtime/globalization-invariant-mode.md at main · dotnet/runtimehttps://github.com/dotnet/runtime/blob/main/docs/design/features/globalization-invariant-mode.md

全球化配置设置 - .NET | Microsoft Docs了解对 .NET Core 应用的全球化方面进行配置的运行时设置。例如,如何分析日语日期。icon-default.png?t=M7J4https://docs.microsoft.com/zh-cn/dotnet/core/runtime-config/globalization

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值