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
  }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章