我曾在Ubuntu20.04上使用.net内核3.1一段时间,但现在在系统更新之后,skd似乎无法识别已安装的libicu。我目前在dotnet 3.1.407上。
dotnet run 错误消息:进程终止。无法找到系统上安装的有效ICU包。如果要在不支持全球化的情况下运行,请将配置标志System.Globalization.Invariant设置为true。在System.Globalization.GlobalizationMode.GetGlobalizationInvariantMode() at System.Globalization.GlobalizationMode..cctor()的System.Environment.FailFast(System.String)
我已经确认这是安装好的。
ii libicu66:amd64 66.1-2ubuntu2 amd64 International Components for Unicode有趣的是,当直接运行应用程序测试时,它可以工作-> dotnet /Debug/netcoreapp3.1/Test.dll
有一些建议可以将Globalization.Invariant设置为真,
"configProperties": {
"System.Globalization.Invariant": true }它可以工作,但不适用于我的情况,因为不支持EntityFramework连接到SQL -> Globalization.Invariant。
dotnet信息输出:
NET (反映任何global.json):版本: 3.1.407提交: d3244d0e44
运行时环境: OS名称: ubuntu OS版本: 20.04 OS平台: Linux RID: ubuntu.20.04-x64基本路径:/snap/dotnet/117/sdk/3.1.407/
主机(对支持有用):版本: 3.1.13提交: 64df28ec4a
安装了.NET核心SDK: 3.1.407 /snap/dotnet-sdk/117/sdk
安装.NET内核运行时: 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
任何解决这一问题的建议都会受到高度赞赏。
发布于 2021-05-10 19:13:50
毕竟,.NET SDK的快速安装是一个问题。我卸载了snap包,并按照本页的指示直接安装了.net 3.1SDK二进制文件,微软.net安装。向下滚动到“手动安装”一章。下载二进制文件并安装SDK。我的程序重新构建并运行良好。
https://askubuntu.com/questions/1330986
复制相似问题