升级3.1.21至3.1.26时遇System.InvalidOperationException错误求助
.NET Core 3.1.21升级到3.1.26出现"Sequence contains no elements"错误的解决思路
排查NuGet包依赖问题
- 清理本地NuGet缓存:运行
dotnet nuget locals all --clear,然后重新还原包 - 检查项目里的第三方包,有没有和3.1.26版本不兼容的,尽量把这些包更新到适配的版本
- 清理本地NuGet缓存:运行
检查项目文件(.csproj)
- 确认
<TargetFramework>节点值是netcoreapp3.1 - 删除项目文件里重复、多余或者版本冲突的包引用
- 确认
检查本地工具链
- 用
dotnet --list-sdks查看是否正确安装了3.1.26版本的SDK,没装的话重新下载安装 - 要是用Visual Studio开发,通过VS安装器的修改功能修复.NET Core相关组件
- 用
针对报错逻辑调试
- "Sequence contains no elements"一般是代码里用了
First()、Single()这类LINQ方法,但对应的序列是空的。升级后底层行为可能有变化,导致原本有数据的序列变空了,找到报错的代码行,改成FirstOrDefault()并处理null情况
- "Sequence contains no elements"一般是代码里用了
内容的提问来源于stack exchange,提问作者Rashmi Tembhurne
相关产品推荐
相关产品推荐

