【发布时间】:2015-11-10 11:03:19
【问题描述】:
我有一个这样的项目结构:
WebApp
-- WebApp
-- WebApp.sln
WebApp.Tests
-- WebApp.Tests.csproj
我使用移动将 WebApp.Tests 移动到 WebApp 中(只需单击并拖动到 WebApp 文件夹中)。我编辑了 WebApp.sln 以修复项目引用,以便加载。
当我构建时,Nuget 抱怨缺少包并进行恢复。 我下载并在我的解决方案上使用了 nuget.exe restore,它报告一切都在那里。
根据其他 Stack Overflow 答案,我尝试了以下方法:
- 编辑测试项目参考提示路径。我从 ..\WebApp\packages\PACKAGE 更改为 ..\packages\PACKAGE
- 重新加载 Visual Studio(多次)
- 删除项目的packages文件夹和bin/obj文件夹的内容
- 使用包管理器控制台在测试项目上重新安装包
所有这些都未能解决问题。当我使用包管理器尝试使用命令重新安装包时,它给了我与项目构建相同的错误 - 我必须先恢复包。
有什么方法可以快速修复我的项目吗?我真的不想通过每个包并手动卸载/重新安装。另外,我怎么能一开始就防止这个问题呢?是否有移动项目位置的内置方法?
【问题讨论】:
-
在项目文件的底部可能有一个检查是否存在包文件夹或其某些内容。
-
如果引用了跨项目引用或解决方案项(例如包),则移动项目通常会破坏内容。这就是解决方案文件夹(在解决方案资源管理器中)是虚拟的原因之一。
-
@jessehouwing 谢谢!检查是否存在具有旧相对路径的包。我以为这只是一个嵌入在项目文件中的错误报告,但是一旦我修复了 Exists(../project),它就编译得很好。
标签: visual-studio nuget visual-studio-2015