c# - 克隆网站项目 nuget 后恢复包但找不到引用 VS 2015

标签 c# visual-studio-2015 nuget nuget-package-restore

我们已将遗留网站移动到 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/

相关文章:

c# - 第三方 dll 中奇怪的 NullReferenceException : C#

.net - 使用 NuGet 恢复预发行包

c# - 如何从json格式中删除 ""

c# - using 语句外的 SQL 连接构造函数

c# - Linq 其中列表包含列表之一

c# - .vs 文件夹到 visual studio 2015 中的源代码管理?

c# - 从 C# 使用 DirectX DLL (C++)

c# - IntelliTrace 独立收集器

visual-studio-2010 - 努盖特 2.7 : "an error occurred while processing this request"

powershell - 如何列出丢失的 NuGet 包