NuGet和/或PM突然无法正常工作

时间:2017-09-14 17:27:09

标签: visual-studio nuget nuget-package

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

在尝试清理解决方案,重新启动VS以及清空./packages文件夹并重建之后的一些简单操作后,问题仍然存在。

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

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

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

    • add-migration Misc1
    • ~~~~~~~~~~~~~
      • CategoryInfo:ObjectNotFound:(add-migration:String)[],CommandNotFoundException
      • FullyQualifiedErrorId:CommandNotFoundException
  • NuGet无法卸载/更新项目的大多数已安装软件包。例如,我安装了WebGrease v1.5.2,最新的stable 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>

1 个答案:

答案 0 :(得分:2)

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

  

转到VS菜单工具&gt; 扩展程序和更新&gt; 更新并检查是否   NuGet Package Manager没有更新。安装最新的   版本为我解决了这个问题。

更新NuGet后,所有内容似乎再次按预期工作。