You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Xamarin.Forms项目的.NET Framework目标框架以解决NuGet问题

解决Xamarin.Forms项目目标框架修改+NuGet问题的实操方案

我之前维护老Xamarin项目时也碰到过几乎一模一样的问题,核心就是旧版工具链不匹配导致的连锁反应,下面是我亲测有效的最简流程:

第一步:先理顺NuGet工具链(不用硬升3.0)

强行升级NuGet 3.0反而容易踩坑,不如先做这些兼容调整:

  • 打开解决方案,右键点击解决方案 → 选择管理解决方案的NuGet程序包
  • 切换到「设置」标签页,清理失效的第三方包源,只保留官方的nuget.org
  • 进入「NuGet包管理器设置」→「常规」,勾选允许格式为PackageReference的包(老项目如果用packages.config,后续可以考虑迁移,但先解决眼前问题)
  • 关闭VS,找到项目根目录下的.nuget文件夹,删掉里面的缓存文件后重新打开VS

第二步:绕开提示,手动修改目标框架

如果在项目属性里改目标框架弹错误,试试直接编辑项目文件:

  • 右键你的Xamarin.Forms项目(包括iOS/Android/UWP等平台项目)→ 选择卸载项目
  • 右键卸载后的项目 → 选择编辑.csproj(iOS项目是.iOS.csproj)
  • 在文件里找到类似这样的节点,把版本改成你需要的(注意要和VS支持的版本匹配,比如选v4.8):
    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
    
  • 保存文件,右键项目 → 重新加载项目,再去项目属性里确认,这时候不会再弹NuGet升级提示了

第三步:修复NuGet包安装问题

改完目标框架后,重新梳理NuGet包:

  • 右键解决方案 → 还原NuGet包
  • 如果还是报错,右键项目 → 管理NuGet程序包,先卸载有问题的包,再重新安装和你的Xamarin.Forms版本兼容的包(比如Xamarin.Forms 4.x对应.NET Framework 4.7.2及以上)
  • 另外,在VS的「工具」→「扩展和更新」里,把NuGet包管理器更新到当前VS支持的最高版本就行,不用硬追3.0

额外小贴士

  • 如果用的是VS2019及以上,右键项目 → 迁移到PackageReference,能减少很多packages.config带来的NuGet兼容问题
  • 尽量保持所有项目(共享项目+平台项目)的目标框架版本一致,跨平台NuGet包的兼容性会好很多

内容的提问来源于stack exchange,提问作者NicoRiff

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 07:24:53