Visual Studio 还原项目的NuGet包失败...:找不到路径的一部分

lawou6xi  于 2023-08-07  发布在  其他
关注(0)|答案(4)|浏览(449)

我正在尝试在Visual Studio(.NET Framework 4.72)中运行单元测试项目。
项目现在正在成功构建/运行,但是仍然有一个错误,即NuGet包无法恢复(文件路径实际上是错误的,不存在。我怎样才能更改到正确的文件路径,并告诉VS不要在错误的路径中查找?下面是错误:
项目Tests_WeatherData的NuGet包恢复失败:无法找到路径“C:..\Begin\packages\MSTest.TestAdapter.1.3.2\build/_common/zh-Hans/Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll”的一部分
感谢您的任何建议如何更改文件路径/恢复设置。

3phpmpom

3phpmpom1#

这可能是由于您的项目位于嵌套过深的子文件夹中。我想文件夹路径可能有一些限制,比如250个字符或类似的东西。
当我下载一个包含一些演示项目的zip文件时,我看到了同样的错误,当我解压缩它时,它创建了一个包含许多子文件夹的文件夹。我感兴趣的项目在子文件夹中很深,当我试图恢复它的NuGet包时,我得到了同样的错误。
我把项目文件夹移到了c:\附近,然后恢复错误就消失了。

z18hc3ub

z18hc3ub2#

这就是我的工作。
1.从here下载nuget.exe。x1c 0d1x的数据
1.将此nuget.exe可执行文件复制到包含当前无法构建的解决方案的文件夹中。
1.确保LongPathsEnabled注册表项设置为1。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\LongPathsEnabled
1.打开cmd提示符,导航到上述文件夹位置。运行下面的命令。
c:\repos\MySolutionFolder> nuget.exe恢复
1.在Visual Studio中生成解决方案。在我的情况下,我使用VS 2019。
帮助我完成这些步骤的链接- Github-Issue。

ep6jt1vc

ep6jt1vc3#

问题可能是CSPROJ文件中的文件路径。最常见的原因是项目重组和packages的位置发生了变化。
除了CSPROJ中的NUGET引用之外,在CSPROJ的页脚或MSTest适配器条目的页眉部分中可能还有一些其他位置。也就是说,只要验证所有的文件路径(尤其是相对路径)都是正确的,然后重新加载/重建。

s2j5cfk0

s2j5cfk04#

在我更新了一个Nuget包之后,Visual Studio在我的挂起更改列表中包括了旧版本和更新版本的新添加文件夹。旧版本显然已经不存在了,因为它在Nuget更新软件包时被删除了。我不得不手动排除以旧版本号命名的文件夹。

相关问题