NuGet エラー NU3004

シナリオ 1

Package 'SamplePackage v1.0.0' from source 'https://contoso.com/index.json': The package is not signed.
Package 'SamplePackage v1.0.0' from source 'https://contoso.com/index.json': signatureValidationMode is set to require, so packages are allowed only if signed by trusted signers; however, this package is unsigned.

問題点

nuget verify -signatures からの場合

NuGet クライアントが署名されていないパッケージを検証しようとしました。

signatureValidationModerequire に指定するときに復元またはインストールからの場合

require 検証モードでは、署名されていないパッケージがサポートされておらず、署名されていないパッケージをインストールしようとしています。

解決策

インストールまたは nuget verify -signatures コマンドに渡すパッケージにパッケージの署名が含まれていることを確認してください。

シナリオ 2

Package 'SamplePackage v1.0.0' from source 'https://contoso.com/index.json': This repository indicated that all its packages are repository signed; however, this package is unsigned.

問題点

リポジトリは、そのすべてのパッケージがリポジトリに署名されていることを示しました。 ただし、署名されていないパッケージがダウンロードされました。

解決策

警告

このエラーは、複数の NuGet クライアントを使用する際のバグが原因で発生する可能性があります (NuGet/Home#7997 を参照)。 nuget.exe 5.1.0 以降、Visual Studio 2019 16.1 以降、および .NET SDK 2.1.70X または 2.2.30X 以降にアップグレードしてください。

パッケージが署名されているかどうかをチェックするには、次の dotnet nuget verify または nuget verify コマンドを使用します。 パッケージが署名されていない場合は、予期しないことであるため、パッケージ ソースに問い合わせてください。