NETSDK1064:找不到套件
本文適用於:✔️ .NET Core 2.1.100 SDK 與更新版本
當建置工具找不到建置專案所需的 NuGet 套件時,就會發生此錯誤。 這通常是因為套件還原問題所造成。 完整的錯誤訊息與下列範例類似:
NETSDK1064:找不到套件 'PackageName',版本 x.x.x。 自 NuGet 還原之後,其可能已遭刪除。 否則,NuGet 還原可能只有部分完成,這可能是因為路徑長度上限限制所致。
以下是您可以採取來解決此錯誤的一些動作:
- 將
/restore
選項新增至 MSBuild.exe 命令。 請勿使用/t:Restore;Build
,因為這可能會造成細微的錯誤。 替代方法是使用dotnet build
命令,因為其會自動執行套件還原。 - 如果您使用 Visual Studio 2019 或 MSBuild.exe 執行套件還原,則錯誤可能是由路徑長度上限限制所造成。 如需詳細資訊,請參閱長路徑支援 (NuGet CLI) 和 NuGet/Home 問題 #3324。
- 如果您要使用 x86 nuget.exe 還原,並使用 x64 MSBuild.exe 進行建置,則不相符的位元可能會造成此錯誤。 建置找不到還原宣告其取得的套件,因為 project.assets.json 中的路徑無法在不同位元的處理序中運作。 若要解決此錯誤,請使用相同位元的工具進行還原和建置,或設定 NuGet 將套件還原至不會在 x86 與 x64 之間虛擬化的資料夾。 如需詳細資訊,請參閱 dotnet/核心問題 #4332。
- 如果您要建置 Docker 映像,請確定 .dockerignore 檔案會忽略 bin 和 obj 目錄。 如需詳細資訊,請參閱 NETSDK1064:找不到套件 DnsClient,1.2.0。