我有一个包含多个项目的 Visual Studio 2012 解决方案。所有项目都无法构建,因为 NuGet 将包恢复到的位置与各种 VS 项目中的所有 hintPath 标记指示的位置不同。
如何重置或删除整个解决方案中所有项目中的所有提示路径 - 以便可以建立依赖项的正确位置?
好吧,我是如何让自己陷入这个烂摊子的,如下所示:
- 在 VS 解决方案上方的目录中创建一个 nuget.config 文件。 nuget.config 指向存储库文件夹“Alpha”。
- 将项目添加到 VS 解决方案,并在整个过程中添加 NuGet 包引用。
- 构建,一切正常。
- 关闭 Visual Studio 并编辑 nuget.config 文件(来自第 1 步),使其现在指向“Bravo”存储库文件夹
- 打开 Visual Studio 并重新加载 VS 解决方案。
- 如果包管理器说缺少包,请允许它下载丢失的包。
- 尝试构建 - 出现无数错误,提示我可能忘记声明命名空间。
所有包都已成功下载,并放入新的存储库位置,但 VS 项目仍有指向旧位置的提示路径。更糟糕的是,Visual Studio 无法识别引用的程序集不再存在。解决方案资源管理器中的每个缺失引用都不会显示黄色警告,而是就像找到了一样。
更改 NuGet 存储库路径不应使解决方案瘫痪并且几乎无法修复。要求开发人员在每个项目中手动搜索/替换数百个提示路径的正则表达式是笨拙的。
最佳答案
你可以试试 reinstalling all the NuGet packages .您可以在包管理器控制台窗口中执行此操作:
Update-Package -reinstall -ignoredependencies
在运行此命令之前,我会确保您有源代码的备份或源代码管理中的代码。
关于c# - 如何在更改存储库路径后重置 HintPath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24174474/