Visual Studio 2017 UWP引用包报错:已加框架引用仍出错求助
排查UWP项目框架引用报错的解决方案
我来帮你捋捋这个问题——明明在project.json里加了UAP 10.0.10240的引用,却还是报错,这种“配置生效异常”的情况确实挺磨人的,咱们从几个常见的排查方向入手:
1. NuGet还原没真正落地
有时候手动改了project.json,但NuGet并没有实际完成依赖的还原,或者缓存拖了后腿:
- 右键你的UWP项目,选择「管理NuGet程序包」,点击顶部的「还原」按钮,等它跑完所有依赖的下载和配置
- 也可以打开Package Manager Console,执行命令:
Update-Package -reinstall,强制重新安装所有包,确保依赖链正确加载 - 极端情况可以手动删掉项目下的
packages文件夹、obj和bin目录,然后重新触发NuGet还原
2. project.json的框架引用格式不对
别小看格式问题,有时候拼写或结构错了,VS根本识别不了:
- 确保你的
frameworks区域是标准结构,比如:
注意:UAP的框架标识符是小写的"frameworks": { "uap10.0": { "dependencies": { // 你的项目依赖包 } } }uap10.0,不是全称的“UAP,Version=v10.0.10240”——虽然报错提示写的是全称,但配置里用简写标识符才是正确的写法。另外确认版本号和你本地安装的Windows SDK版本完全匹配。
3. Visual Studio的缓存在搞鬼
VS有时候会缓存旧的项目配置,导致新修改的project.json没被读取:
- 彻底关闭Visual Studio,找到项目根目录下的
.vs文件夹(这是隐藏文件夹,需要先开启“显示隐藏文件”),删掉它 - 重新打开项目,先执行「生成→清理解决方案」,再执行「生成→生成解决方案」,让项目重新加载所有配置
4. 本地没装对应的Windows SDK
如果你的电脑上根本没安装10.0.10240版本的Windows SDK,就算project.json写对了也没用:
- 打开Visual Studio安装器,切换到「修改」界面,进入「单个组件」,搜索“Windows 10 SDK (10.0.10240.0)”,确认是否已安装
- 没装的话勾选安装;已经装了的话,可以尝试点击「修改」里的「修复」选项,修复SDK可能存在的损坏
5. .csproj文件里有冲突配置
有时候项目的.csproj文件里会有硬编码的设置,和project.json的配置冲突:
- 右键你的UWP项目,选择「卸载项目」,然后右键点击卸载后的项目,选择「编辑xxx.csproj」
- 查找
<TargetPlatformVersion>节点,确保它的值是10.0.10240.0,和project.json里的版本一致 - 同时检查是否有其他关于框架引用的硬编码设置,有冲突的话修改成统一配置,然后重新加载项目
内容的提问来源于stack exchange,提问作者XamDev
相关产品推荐
相关产品推荐

