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

Xamarin.Forms项目陷入DEP3321与NU1201错误循环求助

解决Xamarin.Forms项目中Windows Runtime版本冲突的循环错误

我明白你现在卡在两个错误来回跳的循环里有多头疼,咱们先把这两个错误的根源理清楚,再一步步解决:

错误本质分析

  • 第一个错误(DEP3321):你的部署目标(Windows机器或模拟器)运行的是10.0.14393版本的Windows Universal Runtime,而项目要求的最低版本是10.0.16299,所以部署被阻止。
  • 第二个错误(NU1201):当你把项目的TargetMinVersionPlatform改成10.0.14393后,项目依赖的.NETStandard 1.6和uap10.0.14393不兼容——因为.NETStandard 1.6对应的UAP最低支持版本是10.0.15063,二者不匹配导致了这个兼容性错误。

具体解决方案

方案1:升级Windows系统到10.0.16299或更高版本

这是最省心的办法:

  • 直接把你的Windows机器(或模拟器)升级到要求的10.0.16299版本以上,这样就不需要修改项目的任何版本设置,DEP3321会自动消失,也不会触发NU1201错误。

方案2:调整.NET Standard版本适配低版本UAP

如果暂时没法升级系统,那就让项目的.NET Standard版本和UAP 10.0.14393兼容:

  1. 右键你的Xamarin.Forms共享项目 → 属性 → 应用程序 → 把目标框架改成.NET Standard 1.4(这是支持UAP 10.0.14393的最高.NET Standard版本)。
  2. 打开UAP项目的属性 → 应用程序:
    • 把最低版本设置为10.0.14393(和你的系统版本一致)。
    • 目标版本可以设为10.0.16299(只要你的Visual Studio安装了对应SDK),这样既满足系统部署要求,也不会触发兼容性错误。
  3. 确保你的Visual Studio安装了10.0.14393和10.0.16299的UAP SDK,没有的话可以在Visual Studio安装器里补充安装。

方案3:切换到Windows Phone 8.1项目(限旧需求)

如果你的目标是传统Windows Phone而非UWP,可以考虑创建Windows Phone 8.1的项目而非UAP项目,这样就不会受UWP版本限制。不过要注意,Xamarin.Forms对Windows Phone 8.1的官方支持已经停止,仅适合维护旧项目的场景。

额外注意事项

  • 如果使用模拟器部署,要选择和你设置的TargetMinVersion一致版本的模拟器,比如10.0.14393的模拟器。
  • 做完版本调整后,建议清理项目缓存(右键项目 → 清理,然后重建),避免缓存导致的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:36:16