VS2022创建ASP.NET Core Web API调试时遇System.NullReferenceException
问题分析与排查方案
可能的原因
- SSL证书异常:本地开发用的自签HTTPS证书损坏、未正确生成或未被系统信任,导致SSL握手阶段失败,触发底层内存操作的空引用异常。
- .NET运行时问题:VS2022 17.10.5绑定的.NET SDK/Runtime存在bug,或者运行时文件因损坏、不完整导致异常。
- 安全软件拦截:防火墙、杀毒软件阻断了本地HTTPS端口的通信,或篡改了SSL相关系统配置。
- VS调试配置冲突:项目调试设置中的HTTPS端口被占用,或SSL相关参数配置错误。
排查步骤
1. 重置本地开发SSL证书
以管理员权限打开命令提示符,执行以下命令清理并重新生成信任的HTTPS证书:
dotnet dev-certs https --clean dotnet dev-certs https --trust
完成后重启Visual Studio,重新启动项目调试。
2. 修复.NET运行时环境
- 打开VS的「工具 > 获取工具和功能」,找到已安装的.NET组件,选择「修改」并执行修复操作。
- 若无法更新VS,可手动下载与项目目标框架匹配的.NET SDK版本,覆盖安装后重试。
3. 排除安全软件干扰
- 临时关闭防火墙、杀毒软件,或把本地HTTPS端口(如7125)添加到软件的信任列表,再启动项目测试连接。
- 检查系统SSL/TLS配置,确保TLS 1.2及以上版本处于启用状态。
4. 调整项目调试设置
- 右键项目 → 「属性 → 调试」,取消勾选「启用SSL」,改用HTTP协议启动(默认端口如
http://localhost:5125),测试Swagger是否能正常访问。 - 若HTTP正常,可尝试修改HTTPS端口为其他未被占用的端口,重新生成证书后再次测试。
5. 查看系统日志定位问题
打开Windows「事件查看器」,查看「应用程序日志」中的.NET运行时相关记录,获取更详细的异常上下文,辅助定位具体错误源。
内容的提问来源于stack exchange,提问作者Dorian
相关产品推荐
相关产品推荐

