首页 > 解决方案 > ICU包安装Linux

问题描述

当我尝试在我的 linux 控制器上运行 ac# 程序时,出现以下错误:

    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.StringComparer..cctor()
   at System.StringComparer.get_OrdinalIgnoreCase()
   at Microsoft.Data.Sqlite.SqliteConnectionStringBuilder..cctor()

我想安装一个 ICU 包来摆脱这个错误。所以我从这个站点下载了一个包: Unicode 的国际组件

当我在控制器上安装软件包时,我仍然收到消息。有什么合适的方法可以在 linux 控制器上安装 ICU 包,这样我就可以摆脱这个消息了吗?

PS(打开全球化不变量不是一个选项,因为我的代码(SQL-Server)不允许它打开......)

标签: c#linuxicu

解决方案


you can disable ICU usage putting this in your .csproj:

<PropertyGroup>
  <InvariantGlobalization>true</InvariantGlobalization>
</PropertyGroup>

before running your project, delete manually /bin and /obj


推荐阅读