Linux 下运行.NET 6 7 8 程序遇到的两个问题

一、 /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21‘ not found 的解决办法

1. 下载 libstdc++.so.6.0.21 文件

注意区分x84_64和aarch64架构,下载对应的版本

2. 把 libstdc++.so.6.0.21 复制到 /lib64/libstdc++.so.6.0.21

3. 运行命令 export LD_PRELOAD="/lib64/libstdc++.so.6.0.21"

因为升级 libstdc++.so.6.0.xx 可能会把系统搞挂,所以在运行.NET程序前临时设置一下,用完取消设置

4. 取消设置 unset LD_PRELOAD

二、Couldn't find a valid ICU package installed on the system. Please install libicu(or icu-libs)...的解决办法

可以安装icu库,或者采用如下办法:

1. 设置工程属性

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

2. appsettings.json配置文件中添加如下配置

"runtimeOptions": {
  "configProperties": {
    "System.Globalization.Invariant": true
  }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章