我们已将遗留网站移动到 TFS 中的 git,并且只要项目被克隆,nugget 就会根据 package.config 恢复包,并将它们添加到 packages 文件夹中。由于无法找到通过 nuget 还原添加的程序集,后续构建失败。
如果您执行 update-package -reinstall 并且项目构建成功。这是预期的行为还是我有设置问题?之前的 repo 已 checkin 包以消除此问题,但我想避免这种情况。
最佳答案
Is this expected behavior or do I have a setup issue?
是的,这是 NuGet 的预期行为,所以不用担心这是设置问题。
NuGet Restore 仅恢复包目录(\packages 文件夹)中的文件,但不会恢复项目内的文件或以其他方式修改项目。例如,如果包添加了一些引用 DLL或项目中的其他文件,如果删除这些文件中的任何一个,则在恢复此包时将不会重新添加它们。这可能会导致您的项目在构建时无法找到缺少的依赖项。
此外,预期的结果是恢复包后引用应该可以正常使用,不会损坏。在这种情况下,我们将不需要花费额外的时间使用 update-package -reinstall 命令行来卸载和重新安装包。
因此使用“Update-Package -reinstall”命令强制将包引用和内容文件重新安装到项目中,以解决包恢复后损坏的那些引用。
关于c# - 克隆网站项目 nuget 后恢复包但找不到引用 VS 2015,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43193739/