我在一次斷電關機之后,發現我所有的項目都構建不通過了,提示在 NuGet.targets 文件的第 130 行錯誤。原因就是存在有某個被項目引用的 NuGet 包被損壞,在進行 NuGet 還原時讀取這個包出錯
提示內容大概如下
C:\Program Files\dotnet\sdk\6.0.100-rc.2.21505.57\NuGet.targets(130,5): error : '.', hexadecimal value 0x00, is an invalid character. Line 1, position 1.
大部分此時都會加上某個項目或 sln 文件,但實際上錯誤內容和此無關,更多的是某個 NuGet 包被損壞
解決方法很簡單,刪除 C:\Users\你的用戶名\.nuget\packages\
文件夾下對應的 NuGet 包,或者清空此文件夾都可以。這個文件夾是 NuGet 的本機緩存文件夾,刪除之后將會重新去 nuget.org 等上面拉 nuget 包,因此大部分情況下是可以安全刪除的