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

我有一个包含多个项目的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.您可以在Package Manager控制台窗口中执行此操作:

Update-Package -reinstall -ignoredependencies

在运行此命令之前,我会确保您拥有源代码的备份或在源代码管理中使用代码.

上一篇:c#-根据编译器标志/目标框架安装nuget软件包


下一篇:c# – TeamCity在构建项目时包含dll作为参考