升级Nuget包适配.NET Framework4.8时出现NotSpecified错误如何解决
- 完全退出Visual Studio,删除解决方案根目录下的
.vs隐藏文件夹、packages文件夹,同时删除所有项目目录下的bin、obj缓存文件夹 - 重新打开解决方案,右键选择「管理解决方案的NuGet程序包」,在「已安装」标签页手动卸载所有System前缀的官方依赖包,优先处理之前报错关联的System.Net.Http相关组件,无需卸载业务类第三方依赖
- 右键每个项目点击「卸载项目」,再右键选择「编辑项目文件」,删除所有
<Reference>节点中HintPath指向旧NuGet包的条目,同时删除文件末尾关联旧版本NuGet的<Import>导入节点 - 保存修改后重新加载所有项目,不要直接执行全量升级命令,优先逐个升级核心框架包,示例命令:
逐个完成官方框架包升级后,再升级剩余第三方依赖包Update-Package -Id Microsoft.AspNet.Mvc -Reinstall - 若仍报错,检查所有项目的
packages.config文件,删除重复的包ID条目、以及targetFramework属性和项目目标框架不匹配的无效条目,再执行升级操作
补充说明:如果项目使用PackageReference格式管理NuGet包,可以直接删除所有显式安装的System.Net.Http包,.NET Framework 4.8已内置对应版本的该类库,无需单独通过NuGet引入
内容的提问来源于stack exchange,提问作者aj go
相关产品推荐
相关产品推荐

