升级到.NET 6后执行dotnet run命令无法正常启动项目问题求助
MacOS 11环境下.NET 6开发者证书失效的完整修复方案
问题根因
.NET 5与.NET 6生成的ASP.NET Core开发者证书的根标识存在差异,默认的dotnet dev-certs https --clean命令仅会清除当前SDK版本生成的证书,旧版本残留的证书会在系统钥匙串中产生冲突,导致新生成的证书信任配置无法正常生效。
修复步骤
- 清理所有残留的.NET开发证书
首先执行SDK自带清理命令:dotnet dev-certs https --clean
打开「钥匙串访问」应用,左侧导航栏选择「系统」分类下的「我的证书」,搜索所有名称为localhost、颁发者为ASP.NET Core HTTPS Development Certificate的证书,全部右键删除,确认同步删除关联的私钥。 - 生成并信任新证书
执行命令生成.NET 6对应的开发者证书:dotnet dev-certs https
执行信任命令,弹出系统权限校验窗口后输入开机密码确认:dotnet dev-certs https --trust - 验证证书配置有效性
执行校验命令:dotnet dev-certs https --check
输出A valid HTTPS certificate is already present.即代表证书配置正常。 - 清除项目缓存重启服务
进入对应项目的根目录,执行以下命令清理残留构建缓存:
重新执行dotnet clean rm -rf bin objdotnet run启动服务,浏览器访问对应HTTPS端口即可正常连接。
异常兼容处理
如果完成上述操作后仍无法访问,检查项目Properties/launchSettings.json配置文件,确认是否存在自定义HTTPS证书路径、自定义端口占用的配置,删除自定义证书相关配置后重启服务即可。
内容的提问来源于stack exchange,提问作者Gerrit
相关产品推荐
相关产品推荐

