Windows 10系统中Visual Studio 2019打开.NET Standard 2.1项目报错NU1201的解决方法及.NET Standard 2.1安装问题
Windows 10系统中Visual Studio 2019打开.NET Standard 2.1项目报错NU1201的解决方法及.NET Standard 2.1安装问题
嗨,我来帮你理清这个问题:首先你遇到的NU1201错误,核心原因是UAP 10.0.16299(也就是Windows 10 Fall Creators Update版本)本身不支持.NET Standard 2.1——.NET Standard 2.1要求UWP的目标版本至少是10.0.17763(Windows 10 October 2018 Update)及以上,旧版本的UWP平台根本没有实现.NET Standard 2.1的API规范。
另外要纠正一个误区:.NET Standard不是单独安装的软件包,它是一套API规范,由具体的.NET实现(比如.NET Core 3.0+、.NET 5+,或者高版本的UWP SDK)来支持,所以不存在“安装.NET Standard 2.1”这一步,你需要做的是让开发环境和项目配置满足支持它的条件。
下面给你几个具体的解决步骤,按优先级排序:
1. 升级UWP项目的目标平台版本
这是最直接的解决方法:
- 右键你的UWP项目(
App.UWP),选择「属性」 - 切换到「应用程序」选项卡,找到「目标版本」下拉菜单,选择10.0.17763或更高版本的Windows 10 SDK
- 建议把「最低版本」也同步设置为10.0.17763(如果你的应用不需要兼容更早的Windows 10版本);如果必须兼容旧版本,可能需要用条件编译处理API差异,但会增加复杂度
2. 确保Visual Studio 2019安装了必要组件
如果你的VS2019没有安装对应版本的UWP SDK,也会出现这个问题:
- 打开Visual Studio Installer,选择「修改」当前的VS2019安装实例
- 在「工作负载」列表中,确认勾选了「通用Windows平台开发」
- 然后在右侧的「安装详细信息」里,找到「Windows 10 SDK」部分,勾选10.0.17763或更高版本的SDK
- 同时,确保安装了.NET Core 3.0或更高版本的SDK(可以在「单个组件」里搜索.NET Core SDK,选择对应版本)
3. 特殊场景:无法升级UWP版本的折中方案
如果因为业务原因不能升级UWP版本,那只能调整项目结构:
- 把项目中依赖.NET Standard 2.1特性的代码抽离成单独的类库,针对UWP平台做兼容处理
- 使用条件编译指令(比如
#if NETSTANDARD2_1和#if WINDOWS_UWP)区分不同平台的实现,避免在UWP项目中调用不支持的API
备注:内容来源于stack exchange,提问作者vico
相关产品推荐
相关产品推荐

