我正在运行 Visual Studio 2022,并安装了 Docker Desktop(Linux 容器)。
当我转到文件 -> 新项目 -> ASP.NET Core Web App 并勾选“配置 HTTPS”、勾选“启用 Docker”并将 Docker 操作系统设置为 Linux 时。 然后尝试使用选定的 Docker 配置文件调试应用程序。
我收到以下错误:
它说要查看容器工具输出,但没有任何错误。
看看人们建议运行的其他事情:
dotnet 开发证书 https --clean
dotnet 开发证书 https --trust
我已经完成并可以在证书存储(个人和受信任)中看到本地主机证书。但它仍然会导致与上面完全相同的错误。
我看到通过以下方式导出证书的建议:
dotnet 开发证书 https -ep%APPDATA%\ASP.NET\Https\WebApplication1.pfx -p 2e20670b-2656-4d5f-8e5b-b6d782b20113
2e20670b-2656-4d5f-8e5b-b6d782b20113 是项目的 UserSecretsId。 我可以看到 WebApplication1.pfx 证书,奇怪的是每个人都引用具有“Kestrel:Certificates:Development:Password”条目的 UserSecrets 文件
但是我的是空的。我尝试添加条目:
{
"Kestrel:Certificates:Development:Password": "2e20670b-2656-4d5f-8e5b-b6d782b20113"
}
但它仍然会导致同样的错误。
请帮忙,因为过去 4 天我一直在为此发疯。
在我的解决方案中添加另一个 Web API 项目并从旧的 Web API 迁移代码后,我遇到了同样的问题。我也花了几个小时试图找到问题所在。
最后通过删除所有内容解决了这个问题
%APPDATA%\Microsoft\UserSecrets
文件夹并将 UserSecretsId 添加到新项目的 .csproj 文件中:
<PropertyGroup>
<UserSecretsId><Paste any random guid here></UserSecretsId>
</PropertyGroup>
以防万一,也请清理证书:
dotnet dev-certs https --clean
dotnet dev-certs https -t