我在一台计算机上签入一个项目,在另一台计算机上签出,发现 NuGet 安装的二进制文件丢失了。我也可以将它们签入源代码管理,但看起来有更好的解决方案:
http://docs.nuget.org/docs/workflows/using-nuget-without-committing- packages
我按照这些说明进行操作,现在.nuget应该有一个文件夹,在我的 .csproj 文件中有以下条目:
.nuget
<RestorePackages>true</RestorePackages> <Import Project="$(SolutionDir)\.nuget\nuget.targets" />
然而,当我重建我的解决方案时,丢失的包并没有恢复。
我错过了什么?我该如何诊断这个问题?
请注意,您可以通过在 nuget 包管理器控制台中运行以下命令来强制执行包还原
更新包-重新安装
强制重新安装解决方案中的所有内容。
更新包-重新安装-ProjectName myProj
强制重新安装 myProj 项目中的所有内容。
注意 :这是核选项。使用此命令时,您可能无法获得与您安装的软件包相同的版本,这可能会导致问题。与解决方案级别相比,这不太可能发生在项目级别。
您可以使用-safe命令行参数选项来限制升级到具有相同主要和次要版本组件的较新版本。这个选项是后来添加的,解决了评论中提到的一些问题。
-safe
更新-包-重新安装-安全