开发证书导出不再创建文件夹
导出 ASP.NET 核心开发证书(用于在本地开发中启用 HTTPS)时,它不再创建在不存在该目录时要导出证书的目录。
此更改首先出现在 .NET 8.0.10 和 .NET 9 RC 1 中。
引入的版本
.NET 9 RC 1
旧行为
以前,如果运行命令时 dotnet dev-certs
目标目录不存在,则会创建该目录(具有从包含目录继承的权限)。 例如, 给定以下命令,将创建 C:\NonExistent\ :
dotnet dev-certs https -ep C:\NonExistent\cert.pfx
新行为
从 .NET 9 开始,如果目标目录不存在,导出会失败并显示如下消息:
将 HTTPS 开发人员证书导出到文件时出错。
中断性变更的类型
此更改为行为更改。
更改原因
开发证书使用私钥导出,因此未经授权的访问可能会有问题。 不过,如果消耗进程不会作为当前用户运行,则可能需要将其读到多个帐户。 不需要尝试确定目标目录(并安全地建立)权限, dotnet dev-certs
而是要求它已存在。
建议的操作
在调用 dotnet dev-certs
之前创建目标目录(具有适当的权限)。
受影响的 API
不适用