在Ubuntu 16 LTS上用Rider创建Xamarin.Forms项目遇框架未找到错误
我之前在Ubuntu 16上折腾过类似的问题,这个错误大多是框架版本不兼容、SDK配置不对或者系统依赖缺失导致的,给你几个靠谱的解决步骤:
1. 升级.NET SDK到兼容版本
Ubuntu 16 LTS默认自带的.NET SDK版本太低,根本满足不了Xamarin.Forms的要求(至少需要.NET Standard 2.0及以上支持)。你可以按下面的步骤安装.NET 6 SDK(这是对Ubuntu 16支持的最后一个LTS版本):
# 添加微软软件源 wget https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb # 更新源并安装SDK sudo apt-get update sudo apt-get install -y dotnet-sdk-6.0
安装完成后,运行dotnet --version确认版本号为6.x开头即可。
2. 让Rider识别正确的SDK路径
有时候Rider会默认调用旧版本的SDK,你需要手动指定:
- 打开Rider的
File > Settings(或按快捷键Ctrl+Alt+S) - 找到
Build, Execution, Deployment > Toolset and Build选项 - 在
.NET CLI executable处选择你刚安装的dotnet路径(通常是/usr/bin/dotnet) - 保存设置后重启Rider再尝试创建项目。
3. 补全Ubuntu 16的系统依赖
Ubuntu 16的部分核心库已过时,.NET运行时需要的依赖可能缺失,执行以下命令安装必要组件:
sudo apt-get install libssl1.0.0 libicu55
缺失这些库不仅会导致框架检测失败,后续运行项目也会出现各种异常。
4. 绕开Rider模板,用CLI手动创建项目
如果通过Rider模板创建仍报错,可以直接用dotnet命令行生成项目,再导入到Rider:
# 创建Xamarin.Forms移动项目 dotnet new xamarinforms -n MyXamarinApp -t Mobile
打开Rider后选择Open,找到生成的项目文件夹,Rider会自动加载并配置好框架,比模板创建更稳定。
5. 匹配Rider与系统的兼容版本
太新的Rider已经停止支持Ubuntu 16 LTS,建议安装Rider 2022.3版本(这是最后支持Ubuntu 16的版本),新版本会出现更多兼容性问题。
额外提醒
Ubuntu 16 LTS早已停止官方支持,后续的.NET和Rider版本都会逐步放弃对它的支持,如果长期做开发,建议升级到Ubuntu 20 LTS或更高版本,能减少很多不必要的麻烦。另外,Linux上开发Xamarin.Forms仅支持Android平台,iOS开发需要依赖macOS环境,创建项目时不要选择iOS目标,避免额外错误。
内容的提问来源于stack exchange,提问作者DanoSK

