【问题标题】:Nuget doesn't restore all packagesNuget 不会恢复所有包
【发布时间】:2014-09-07 11:57:40
【问题描述】:

我打开我的项目,使用 nuget - 恢复我的包,但我看到的不是全部。 例如,缺少 Newtonsoft.Json。我尝试使用包管理器控制台再次安装它,但收到消息“已经引用了 Newtonsoft.Json(版本)”

如何解决引用问题?

【问题讨论】:

  • 它发生了。我通常必须删除 packages.config 并完全删除 packages 文件夹。重新添加所有 nuget 依赖项。还有两种方法可以让 nuget 恢复包; “自动包还原”(更好的方法),或“MSBuild-Integrated 包还原”
  • @MeirionHughes,感谢您的回复。是的,我尝试删除 packages 文件夹然后恢复它,尝试启用 nuget 恢复,但这没有帮助(
  • 创建项目时不要“启用 nuget 恢复”,只需添加 nuget 包并构建即可; nuget 会自动恢复,但方式不同。当您执行“启用 nuget 还原”时,它会修改您的解决方案文件并添加 nuget 文件夹和 exe。我发现这只是麻烦; (它的 MSBuild 选项)。

标签: .net reference nuget nuget-package-restore


【解决方案1】:

通常当 NuGet 不恢复包时,问题是:

最常见的:

  1. 您尝试在“packages”文件夹中恢复包的文件夹(即“Packages/EntityFramework.6.0.0/”但“DLL”是不在其中(大多数版本控制系统会自动忽略“.dll”文件)。发生这种情况是因为在 NuGet 尝试还原每个包之前,它会检查文件夹是否已存在,因此如果存在,NuGet 会假定“dll”在其中。因此,只需删除 NuGet 将正确恢复它的文件夹即可。

不太常见(对于旧的 Visual Studio 版本):

  1. 您尚未启用“NuGet 包还原”https://stackoverflow.com/a/23917432/890890

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-26
    • 2014-11-10
    • 1970-01-01
    相关资源
    最近更新 更多