NuGet 错误 NU3004

方案 1

来自源“https://contoso.com/index.json”的包“SamplePackage v1.0.0”:包未签名。
来自源“https://contoso.com/index.json”的包“SamplePackage v1.0.0”:signatureValidationMode 设置为必需项,因此仅当受信任的签名者签名时,包才会予以获批;但是,此包为未签名状态。

问题

如果从 nuget verify -signatures

NuGet 客户端尝试验证未签名的包。

如果将 signatureValidationMode 指定为 require 时从还原或安装

require 验证模式不支持未签名的包,而系统在尝试安装未签名的包。

解决方案

请确保要安装或传递给 nuget verify -signatures 命令的包均包含包签名。

方案 2

来自源“https://contoso.com/index.json”的包“SamplePackage v1.0.0”:此存储库指示其所有包都已完成存储库签名;但是,此包为未签名状态。

问题

存储库表明其所有包均已完成存储库签名。 但是,下载了未签名的包。

解决方案

警告

使用多个 NuGet 客户端时可能会出现此错误(请参阅 NuGet/Home#7997)。 请升级到 nuget.exe 5.1.0 或更高版本、Visual Studio 2019 16.1 或更高版本,以及 .NET SDK 2.1.70X 或是 2.2.30X 或更高版本。

可使用 dotnet nuget verifynuget verify 命令检查包是否已签名。 如果包未签名,请联系包源,因为这属于意外行为。