Ubuntu 21.04运行dotnet new console出现Segmentation Fault错误求助
问题排查与解决步骤
- 路径特殊字符排查
你当前的项目路径包含空格:/home/max/Programming/C Sharp/Hello World/,dotnet restore对包含空格、中文或特殊字符的路径兼容性较差。先将项目移动到全英文无空格无特殊字符的路径下,例如~/programming/csharp/helloworld/,再重新执行dotnet new console和dotnet restore测试。 - dotnet版本冲突排查
执行dotnet --info查看已安装的SDK与Runtime版本是否匹配,是否存在多个版本混装的情况。如果存在版本混乱,可先执行sudo apt remove --purge dotnet* aspnet* netstandard*卸载所有全局dotnet相关组件,再重新安装适配Ubuntu 21.04的dotnet版本。 - 清理NuGet缓存
损坏的NuGet缓存会导致restore阶段异常,执行dotnet nuget locals all --clear清空所有本地NuGet缓存后,再次尝试执行restore操作。 - 系统依赖补全
dotnet运行依赖icu、libssl等系统组件,缺失时容易触发段错误,执行sudo apt install libicu67 libssl1.1安装对应依赖后重试。 - 环境变量一致性校验
你提到MonoDevelop可以正常编译运行C#应用,大概率是MonoDevelop使用了自带绑定的dotnet运行时,而非系统全局安装的版本。分别在系统终端和VS Code终端执行which dotnet,确认两者指向的dotnet二进制文件路径是否一致,如果VS Code终端指向的路径异常,调整VS Code终端的PATH环境变量,将正确的dotnet安装路径放在优先级前列即可。
内容的提问来源于stack exchange,提问作者max2015
相关产品推荐
相关产品推荐

