簡體   English   中英

為項目恢復 NuGet 包失敗...:找不到路徑的一部分

[英]Restore NuGet packages failed for project ... : Could not find a part of the path

我正在嘗試在 Visual Studio (.NET Framework 4.72) 中運行單元測試項目。

該項目現在正在構建/運行成功,但是仍然存在無法恢復NuGet包的錯誤(文件路徑實際上是錯誤的並且不存在。)。 如何更改為正確的文件路徑並告訴 VS 不要查看錯誤的路徑? 這是錯誤:

NuGet Package 項目 Tests_WeatherData 恢復失敗:找不到路徑的一部分'C:......\Begin\packages\MSTest.TestAdapter.1.3.2\build/_common/zh-Hans/Microsoft.VisualStudio。 TestPlatform.MSTestAdapter.PlatformServices.resources.dll'

感謝您就如何更改文件路徑/恢復設置提供任何建議。

這可能是由於您的項目位於嵌套太深的子文件夾中。 我認為文件夾路徑可能有一些限制,比如 250 個字符或類似的東西。

當我下載帶有一些演示項目的 zip 時,我看到了同樣的錯誤,當我解壓縮它時,我創建了一個包含許多子文件夾的文件夾。 我感興趣的項目在子文件夾中非常深入,當我嘗試恢復其 NuGet 包時,我遇到了同樣的錯誤。

我將項目文件夾移到更靠近 c:\ 然后恢復錯誤消失了。

問題可能是您的 CSPROJ 文件中的文件路徑。 最常見的原因是項目重組和packages的位置發生了變化。

除了 CSPROJ 中的 NUGET 引用之外,CSPROJ 的頁腳或 MSTest 適配器條目的 header 部分中可能還有一些其他位置。 即只是驗證你所有的文件路徑(尤其是相對的)都是正確的並重新加載/重建。

這對我有用。

  1. 這里下載 nuget.exe。 可以下載 nuget.exe 的鏈接的屏幕截圖,箭頭指向頁面上下載鏈接的位置。

  2. 將此 nuget.exe 可執行文件復制到包含當前無法構建的解決方案的文件夾中。

  3. 確保 LongPathsEnabled 注冊表項設置為 1。

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\LongPathsEnabled

  4. 打開 cmd 提示符,導航到上述文件夾位置。 運行以下命令。

    c:\repos\MySolutionFolder>nuget.exe 恢復

  5. 在 Visual Studio 中構建解決方案。 就我而言,我使用了 VS2019。

幫助我完成這些步驟的鏈接 - Github-Issue

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM