运行 dotnet run 命令会引发错误“找不到系统上安装的有效 ICU 包”

运行 dotnet run 命令会引发错误“找不到系统上安装的有效 ICU 包”

我在 Ubuntu 20.04 上使用过 .net core 3.1 一段时间,但现在系统更新后,skd 似乎无法识别已安装的 libicu。我目前使用的是 dotnet 3.1.407。

dotnet run 

错误消息:进程终止。无法找到系统上安装的有效 ICU 包. 如果希望在无全球化支持的情况下运行,请将配置标志 System.Globalization.Invariant 设置为 true。at System.Environment.FailFast(System.String) at System.Globalization.GlobalizationMode.GetGlobalizationInvariantMode() at System.Globalization.GlobalizationMode..cctor()

我确认它已经安装。

ii  libicu66:amd64    66.1-2ubuntu2    amd64  International Components for Unicode

有趣的是,当直接运行应用程序测试时,它可以工作->dotnet bin/Debug/netcoreapp3.1/Test.dll

有一些建议将 Globalization.Invariant 设置为 true,

    "configProperties": {
        "System.Globalization.Invariant": true }

它可以工作但不适用于我的情况,因为这会阻止 EntityFramework 连接到 SQL 数据库-> Globalization.Invariant 不受支持。

dotnet info 输出:

NET Core SDK(反映任何 global.json):版本:3.1.407 提交:d3244d0e44

运行时环境:操作系统名称:ubuntu 操作系统版本:20.04 操作系统平台:Linux RID:ubuntu.20.04-x64 基本路径:/snap/dotnet-sdk/117/sdk/3.1.407/

主机(对支持有用):版本:3.1.13 提交:64df28ec4a

已安装的 .NET Core SDK:3.1.407 [/snap/dotnet-sdk/117/sdk]

已安装的 .NET Core 运行时:Microsoft.AspNetCore.App 3.1.13 [/snap/dotnet-sdk/117/shared/Microsoft.AspNetCore.App] Microsoft.NETCore.App 3.1.13 [/snap/dotnet-sdk/117/shared/Microsoft.NETCore.App]

非常感谢任何解决此问题的提示。

答案1

最终发现是 .NET SDK 的 Snap 安装出了问题。我卸载了 snap 包,并按照此页面上的说明直接安装了 .net 3.1 SDK 二进制文件微软 .net 安装。向下滚动到“手动安装”一章。下载二进制文件并安装 SDK。我的程序再次构建并运行良好。

相关内容