推送 NuGet 包:此包必须使用注册证书进行签名

问题描述 投票:0回答:1

我正在尝试使用命令推送我的 NuGet 包

dotnet nuget push *.nupkg --source https://api.nuget.org/v3/index.json --api-key *** --skip-duplicate

但我收到错误:

error: Response status code does not indicate success: 400 (This package must be signed with a registered certificate.)

有没有办法发布未签名的NuGet包?未签名的包裹有什么要求?

我想,不需要用证书对包进行签名。至少,我在官方文档中找不到任何有关此要求的信息。

我记得,代码签名证书不是免费的,我想说它们相当昂贵,对我来说购买证书每年发布一个包是没有意义的。

nuget nuget-package
1个回答
0
投票

我已经找到原因了,

authors
.nuspec
属性(csproj项目文件中的
Authors
属性)的值与我的全名不匹配。

我的全名带有变音符号。

根据 doc

authors
应与 nuget.org 上的配置文件名称匹配。

在 nuget.org 上,配置文件名称显示为

<given_name><surname>
,没有变音符号,并且不起作用。

在 nuget.org 的帐户设置中,我的电子邮件旁边显示的全名为

<given_name> <surname>
,不带变音符号。这个表格也不起作用。

但是,我正在使用我的 Microsoft 帐户登录 nuget.org,在 Microsoft 帐户中,全名是带有变音符号的

<given_name> <surname>
。当然,带有变音符号的
<given_name> <surname>
也是行不通的。

所以,我尝试了最后一种可能的组合 -

<surname> <given_name>
与变音符号,然后
dotnet nuget push
成功了。

© www.soinside.com 2019 - 2024. All rights reserved.