NETSDK1064:パッケージが見つかりません
この記事の対象: ✔️ .NET Core 2.1.100 SDK 以降のバージョン
このエラーは、プロジェクトのビルドに必要な NuGet パッケージをビルド ツールが見つけることができない場合に発生します。 通常、これの原因はパッケージの復元の問題です。 完全なエラー メッセージは、次の例のようになります。
NETSDK1064:パッケージ 'PackageName'、バージョン x.x.x が見つかりませんでした。 NuGet の復元以降に削除された可能性があります。 または、パスの最大長の制限が原因で、NuGet の復元が一部しか完了していない可能性があります。
このエラーの解決には、次のいくつかのアクションを実行します。
- お使いの MSBuild.exe コマンドに
/restore
オプションを追加します。 軽度のバグが発生する可能性があるため、/t:Restore;Build
は使用しないでください。 パッケージが自動的に復元されるため、代わりにdotnet build
コマンドを使用することもできます。 - Visual Studio 2019 または MSBuild.exe を使用してパッケージの復元を実行した場合、パスの最大長の制限によりエラーが発生している可能性があります。 詳細については、「長いパスのサポート (NuGet CLI)」と NuGet/Home のイシュー 3324 に関するページを参照してください。
- 復元を x86 の nuget.exe で行い、ビルドを x64 の MSBuild.exe で行っている場合、このエラーはビットの不一致により発生している可能性があります。 project.assets.json のパスは別のビットのプロセスでは動作しないため、復元が取得したとするパッケージがビルドで検出されません。 このエラーを解決するには、復元とビルドに同じビットのツールを使用するか、x86 と x64 間で仮想化されないフォルダーにパッケージを復元するよう NuGet を構成します。 詳細については、dotnet/core のイシュー 4332 に関するページを参照してください。
- Docker イメージを構築している場合は、 .dockerignore ファイルで bin および obj ディレクトリが必ず無視されるようにしてください。 詳細については、「NETSDK1064:Package DnsClient, 1.2.0 was not found」 (Package DnsClient 1.2.0 が見つからない) を参照してください。
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET