如何在更改存储库路径后重置HintPath

时间:2014-06-11 23:55:59

标签: c# visual-studio visual-studio-2012 msbuild nuget

我有一个包含多个项目的Visual Studio 2012解决方案。所有项目都无法构建,因为NuGet正在恢复包的位置不同于各种VS项目中所有hintPath标记所指示的位置。

如何重置或删除整个解决方案中所有项目中的所有提示路径 - 以便可以建立依赖关系的正确位置?

好的,我如何陷入困境如下:

  1. 在VS解决方案上方的目录中创建nuget.config文件。 nuget.config指向存储库文件夹" Alpha"。
  2. 将项目添加到VS解决方案,并在整个过程中添加NuGet包引用。
  3. 构建,一切正常。
  4. 关闭Visual Studio并编辑nuget.config文件(从步骤1开始),以便它现在指向" Bravo"存储库文件夹
  5. 打开Visual Studio并重新加载VS解决方案。
  6. 如果包管理器说丢失了包,请允许它下载丢失的包。
  7. 尝试构建 - 出现了无数错误,说我可能忘记声明名称空间。
  8. 所有软件包都已成功下载并放入新的存储库位置,但VS项目仍然具有指向旧位置的提示路径。更糟糕的是,Visual Studio无法识别引用的程序集不再存在。

    表示,它不会像解决方案资源管理器中每个缺少的引用一样显示黄色警告

    更改NuGet存储库路径不应该使解决方案瘫痪并且几乎不可修复。要求开发人员通过每个项目手动正则表达式搜索/替换数百个提示路径。

1 个答案:

答案 0 :(得分:2)

您可以尝试reinstalling all the NuGet packages。您可以在Package Manager控制台窗口中执行此操作:

Update-Package -reinstall -ignoredependencies

在运行此命令之前,我会确保您拥有源代码的备份或源代码控制中的代码。