我有一个包含多个项目的Visual Studio 2012解决方案。所有项目都无法构建,因为NuGet将软件包还原到的位置与各个VS项目中所有hintPath标记所指示的位置不同。

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

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

  • 在VS解决方案上方的目录中创建nuget.config文件。 nuget.config指向存储库文件夹“Alpha”。
  • 将项目添加到VS解决方案中,并在整个过程中添加NuGet包引用。
  • 构建,一切正常。
  • 关闭Visual Studio并编辑nuget.config文件(从步骤1开始),使其现在指向“Bravo”存储库文件夹
  • 打开Visual Studio并重新加载VS解决方案。
  • 如果程序包管理器说缺少程序包,请允许它下载缺少的程序包。
  • 尝试构建-出现无数错误,表明我可能忘记了声明 namespace 。

  • 所有软件包都已成功下载,并放置在新的存储库位置,但是VS项目仍然具有指向旧位置的提示路径。更糟糕的是,Visual Studio无法识别引用的程序集不再存在。与其在解决方案资源管理器中的每个丢失的引用上都显示黄色警告,不如说是找到了警告。

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

    最佳答案

    您可以尝试reinstalling all the NuGet packages。您可以在“程序包管理器控制台”窗口中执行此操作:

    Update-Package -reinstall -ignoredependencies
    

    在运行此命令之前,我将确保您具有源代码的备份或源代码中的代码。

    关于c# - 更改存储库路径后如何重置HintPath,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24174474/

    10-11 22:47
    查看更多