【问题标题】:NuGet and/or PM not working correctly all of the suddenNuGet 和/或 PM 突然无法正常工作
【发布时间】:2018-02-23 19:00:13
【问题描述】:

我有一个 VS 2015 社区解决方案,其中包含一个正常工作的 ASP.NET MVC C# 项目,但是在安装和卸载一个包后,NuGet 突然开始变得不稳定。包名称为Bogus,它是生成假数据的 Faker 库的一个端口。 Bogus 包并没有完全满足我的需要,所以我尝试使用 Nuget 卸载它。发生错误,但我不记得错误所说的内容。 :S

在尝试了一些简单的操作(例如清理解决方案、重新启动 VS、清空 ./packages 文件夹并重新构建)后,问题仍然存在。

所以我关闭了 VS 并重新启动。然后删除了AppData/Local/Nuget/cache/ 的内容并再次删除了解决方案的packages/ 文件夹的所有内容(再次)。重新启动 VS 并执行构建。没有错误,但我仍然有症状:

  • 包管理器不再识别“添加迁移”命令:

    PM> 添加-迁移 Misc1 add-migration : 术语“add-migration”未被识别为 cmdlet、函数、脚本的名称 文件或可运行的程序。检查名称的拼写,或者如果包含路径,请验证 路径正确,然后重试。 在 line:1 char:1

    • 添加迁移 Misc1
    • ~~~~~~~~~~~~~
      • CategoryInfo : ObjectNotFound: (add-migration:String) [], CommandNotFoundException
      • FullyQualifiedErrorId : CommandNotFoundException
  • NuGet 无法卸载/更新项目的大部分已安装包。例如,我安装了 WebGrease v1.5.2 并且可以使用最新的稳定 v1.6.0。当我单击更新按钮时,我在 VS 错误列表窗格中收到以下错误:

    错误从源“C:\Users\ME\Projects\MyProject\packages”检索“Newtonsoft.Json.10.0.3”的包元数据时出错。 0

    以及“输出”窗格中的以下错误:

    尝试收集与项目“MyProject”相关的包“WebGrease.1.6.0”的依赖关系信息,目标是“.NETFramework,Version=v4.6.1” 从源“C:\Users\ME\Projects\MyProject\packages”检索“Newtonsoft.Json.10.0.3”的包元数据时出错。 ==========完成==========

我真的被困在这一点上。我不知道如何解决这个/这些问题,而且已经让我损失了一天的停机时间。

奇怪的是,我显然可以将 Newtonsoft.Json 降级到 10.0.2,然后再次将其更新到 10.0.3,似乎没有任何错误。虽然无法卸载它,就像我说的那样,我尝试更新或卸载的所有其他已安装软件包都会产生错误 - 通常指向上面的 Newtonsoft.Json。

这里是 packages.config:

<packages>
  <package id="Antlr" version="3.4.1.9004" targetFramework="net461" />
  <package id="bootstrap" version="3.0.0" targetFramework="net461" />
  <package id="EntityFramework" version="6.1.3" targetFramework="net461" />
  <package id="jQuery" version="1.10.2" targetFramework="net461" />
  <package id="jquery.datatables" version="1.10.15" targetFramework="net461" />
  <package id="jQuery.Validation" version="1.11.1" targetFramework="net461" />
  <package id="Microsoft.ApplicationInsights" version="1.2.3" targetFramework="net461" />
  <package id="Microsoft.ApplicationInsights.Agent.Intercept" version="1.2.0" targetFramework="net461" />
  <package id="Microsoft.ApplicationInsights.DependencyCollector" version="1.2.3" targetFramework="net461" />
  <package id="Microsoft.ApplicationInsights.JavaScript" version="0.15.0-build58334" targetFramework="net461" />
  <package id="Microsoft.ApplicationInsights.PerfCounterCollector" version="1.2.3" targetFramework="net461" />
  <package id="Microsoft.ApplicationInsights.Web" version="1.2.3" targetFramework="net461" />
  <package id="Microsoft.ApplicationInsights.WindowsServer" version="1.2.3" targetFramework="net461" />
  <package id="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel" version="1.2.3" targetFramework="net461" />
  <package id="Microsoft.AspNet.Identity.Core" version="2.2.1" targetFramework="net461" />
  <package id="Microsoft.AspNet.Identity.EntityFramework" version="2.2.1" targetFramework="net461" />
  <package id="Microsoft.AspNet.Identity.Owin" version="2.2.1" targetFramework="net461" />
  <package id="Microsoft.AspNet.Mvc" version="5.2.3" targetFramework="net461" />
  <package id="Microsoft.AspNet.Razor" version="3.2.3" targetFramework="net461" />
  <package id="Microsoft.AspNet.Web.Optimization" version="1.1.3" targetFramework="net461" />
  <package id="Microsoft.AspNet.WebPages" version="3.2.3" targetFramework="net461" />
  <package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="1.0.0" targetFramework="net461" />
  <package id="Microsoft.jQuery.Unobtrusive.Validation" version="3.2.3" targetFramework="net461" />
  <package id="Microsoft.Net.Compilers" version="1.0.0" targetFramework="net461" developmentDependency="true" />
  <package id="Microsoft.Owin" version="3.1.0" targetFramework="net461" />
  <package id="Microsoft.Owin.Host.SystemWeb" version="3.1.0" targetFramework="net461" />
  <package id="Microsoft.Owin.Security" version="3.1.0" targetFramework="net461" />
  <package id="Microsoft.Owin.Security.Cookies" version="3.1.0" targetFramework="net461" />
  <package id="Microsoft.Owin.Security.Facebook" version="3.1.0" targetFramework="net461" />
  <package id="Microsoft.Owin.Security.Google" version="3.1.0" targetFramework="net461" />
  <package id="Microsoft.Owin.Security.MicrosoftAccount" version="3.1.0" targetFramework="net461" />
  <package id="Microsoft.Owin.Security.OAuth" version="3.1.0" targetFramework="net461" />
  <package id="Microsoft.Owin.Security.Twitter" version="3.1.0" targetFramework="net461" />
  <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net461" />
  <package id="Modernizr" version="2.6.2" targetFramework="net461" />
  <package id="NBuilder" version="5.0.0" targetFramework="net461" />
  <package id="Newtonsoft.Json" version="10.0.3" targetFramework="net461" />
  <package id="Owin" version="1.0" targetFramework="net461" />
  <package id="Respond" version="1.2.0" targetFramework="net461" />
  <package id="WebGrease" version="1.5.2" targetFramework="net461" />
</packages>

【问题讨论】:

    标签: visual-studio nuget nuget-package


    【解决方案1】:

    使用@Oleksandr Pshenychnyythis SO question 中提供的简单解决方案解决了我的问题:

    转到 VS 菜单 Tools > Extensions and Updates > Updates 并检查是否 NuGet 包管理器没有更新。安装最新的 版本为我解决了问题。

    更新 NuGet 后,一切似乎再次按预期工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多