假设我已经从存储库中提取了全新的解决方案,所以我只获取源代码+ packages.config,但不包装它们自己。如何成功恢复整个解决方案的nuget包?
当我在VS2015中打开这个解决方案并检查参考文献时,那些来自nugets的内容被打破(黄色标志)。参考属性页可以是这样的:
很公平。我在解决方案上点击RMB,然后选择“管理Nuget包解决方案”,然后选择“所有存储库”,然后单击“还原”来还原包。
所有nuget软件包都被恢复,我可以在“已安装”列表中看到它们,但引用仍然被打破。属性页面不会改变。
要真正恢复软件包,我必须检查“强制卸载”,然后手动卸载并安装软件包。只有这样才能恢复软件包。
当然这很耗时,所以如何有效和成功地恢复软件包只需点击一下?
您的项目引用是否被破坏?像在卸载/安装修复项目文件中的提示路径?如果是这样,那么正常还原将无法解决问题,因为它不会修复提示路径。您需要使用软件包管理器控制台并使用重新安装软件包的'Update-Package -reinstall'命令。只需点击一下就无法做到这一点。 –
@MattWard,从某种意义上说,它们被破坏了,因为这只是一个源代码,没有包。所以参考文献指向无处。到目前为止,我注意到如果在打开解决方案之前创建“包”目录,“恢复”将按照解决方案的第一个项目工作,但剩下的问题仍然存在(如上所述)。 – astrowalker
@MattWard,你可以发表你的评论作为答案?看起来这是VS问题,一旦它“看到”引用被破坏,它就试图保持它的方式。我测试过这样的步骤 - 甚至在VS中打开解决方案之前,我在命令行'nuget restore my_solution.sln'中执行,然后我在VS中打开了解决方案。有效! – astrowalker