2017-04-03 122 views
2

我们已经将一个遗留的网站移动到TFS中的git中,并且任何时候该项目被克隆块都会根据package.config恢复包,并添加它们到包文件夹。由于无法找到通过nuget恢复添加的程序集,后续生成失败。网站项目复制后nuget恢复包但没有找到引用VS 2015

如果您执行update-package -reinstall并且项目建立成功。这是预期的行为还是我有一个安装问题?以前的回购有包被检入以消除这个问题,但我想避免这一点。

回答

3

这是预期的行为,还是我有安装问题?

是的,这是对的NuGet 预期行为,所以不用担心,这是一个设置问题。

NuGet Restore仅恢复软件包目录(\ packages文件夹)中的文件,但不会恢复项目中的文件或修改项目。例如,如果某个包在项目中添加了一些参考DLL或其他文件,如果删除了这些文件中的任何一个,则在恢复该包时将不会重新添加这些文件。这可能会导致您的项目在构建时无法找到缺失的依赖关系。

此外,预期的结果是,恢复软件包后应该正常使用引用而不会中断。在这种情况下,我们不需要花费额外的时间使用update-package -reinstall命令行来卸载并重新安装软件包。

因此,使用“Update-Package -reinstall”命令强制重新安装程序包引用和内容文件到项目中,以便解决程序包恢复后损坏的那些引用。