2017-01-26 58 views
0

假设我已经从存储库中提取了全新的解决方案,所以我只获取源代码+ packages.config,但不包装它们自己。如何成功恢复整个解决方案的nuget包?

当我在VS2015中打开这个解决方案并检查参考文献时,那些来自nugets的内容被打破(黄色标志)。参考属性页可以是这样的:

enter image description here

很公平。我在解决方案上点击RMB,然后选择“管理Nuget包解决方案”,然后选择“所有存储库”,然后单击“还原”来还原包。

所有nuget软件包都被恢复,我可以在“已安装”列表中看到它们,但引用仍然被打破。属性页面不会改变。

要真正恢复软件包,我必须检查“强制卸载”,然后手动卸载并安装软件包。只有这样才能恢复软件包。

当然这很耗时,所以如何有效和成功地恢复软件包只需点击一下?

+0

您的项目引用是否被破坏?像在卸载/安装修复项目文件中的提示路径?如果是这样,那么正常还原将无法解决问题,因为它不会修复提示路径。您需要使用软件包管理器控制台并使用重新安装软件包的'Update-Package -reinstall'命令。只需点击一下就无法做到这一点。 –

+0

@MattWard,从某种意义上说,它们被破坏了,因为这只是一个源代码,没有包。所以参考文献指向无处。到目前为止,我注意到如果在打开解决方案之前创建“包”目录,“恢复”将按照解决方案的第一个项目工作,但剩下的问题仍然存在(如上所述)。 – astrowalker

+0

@MattWard,你可以发表你的评论作为答案?看起来这是VS问题,一旦它“看到”引用被破坏,它就试图保持它的方式。我测试过这样的步骤 - 甚至在VS中打开解决方案之前,我在命令行'nuget restore my_solution.sln'中执行,然后我在VS中打开了解决方案。有效! – astrowalker

回答

0

由于@马特沃德尖端我通过第一(字面)上运行的命令行并在它执行nuget restore my_solutions.sln且仅在Visual Studio中打开溶液解决了这个问题。

+0

很高兴知道您已解决此问题。你可以将它标记为答案:) astrowalker。 –

+0

@ JackZhai-MSFT,我也很高兴,是的,我会接受它,但是明天之前不允许。 – astrowalker

相关问题