Nuget说缺少包,Package Manager Restore表示已安装所有包

时间:2018-01-04 13:12:14

标签: nuget visual-studio-2017 nuget-package nuget-package-restore

我对我的解决方案做了什么!? d:

我无法再从nuget安装任何东西了。起初我不断收到错误说:

  

尝试还原包时发生错误。缺少根元素。

因此,根据this answer on another question,我将所有的包文件夹重命名为packages-old,再次启动VS并尝试恢复。错误仍然存​​在,我仍然无法安装任何nuget包。

错误列表:

  

严重级代码描述项目文件行抑制状态

     

错误此项目引用此计算机上缺少的NuGet包。使用NuGet Package Restore下载它们。有关更多信息,请参阅http://go.microsoft.com/fwlink/?LinkID=322105。丢失的文件是.. \ packages \ Microsoft.Net.Compilers.1.3.2 \ build \ Microsoft.Net.Compilers.props。

Package Manager Restore:

  

所有软件包都已安装,无法恢复   经过的时间:00:00:00.0644890
  ==========完成==========

此外,还有一堆警告,其中大多数警告称引用的组件无法找到:

  

加载项目时遇到WarningIDE0006错误。一些项目功能,例如失败项目的完整解决方案分析和依赖它的项目,已被禁用。

     

警告引用的组件'系统'无法找到。

     

警告引用的组件' Microsoft.Web.Infrastructure'无法找到。

     

警告引用的组件' System.Web.Services'无法找到。

     

警告引用的组件' System.Configuration'无法找到。

     

警告引用的组件' System.Web.ApplicationServices'无法找到。

     

警告引用的组件' Antlr3.Runtime'无法找到。

     

警告引用的组件' System.Web.WebPages.Razor'无法找到。

     

警告引用的组件' Microsoft.AI.Web'无法找到。

     

警告引用的组件' System.Web'无法找到。

     

警告引用的组件' Microsoft.CodeDom.Providers.DotNetCompilerPlatform'无法找到。

     

警告引用的组件' Microsoft.AI.DependencyCollector'无法找到。

     

警告引用的组件' Microsoft.AI.PerfCounterCollector'无法找到。

     

警告引用的组件' Microsoft.ApplicationInsights'无法找到。

     

警告引用的组件' System.ComponentModel.DataAnnotations'无法找到。

     

警告引用的组件' System.Web.DynamicData'无法找到。

     

警告引用的组件' Newtonsoft.Json'无法找到。

     

警告引用的组件' System.Web.Routing'无法找到。

     

警告引用的组件' System.EnterpriseServices'无法找到。

     

警告引用的组件' System.Xml'无法找到。

     

警告引用的组件' System.Web.Abstractions'无法找到。

     

警告引用的组件' System.Web.Mvc'无法找到。

     

警告引用的组件' System.Web.Optimization'无法找到。

     

警告引用的组件' System.Net.Http'无法找到。

     

警告引用的组件' System.Net.Http.WebRequest'无法找到。

     

警告引用的组件' System.Web.WebPages.Deployment'无法找到。

     

警告引用的组件' System.Web.Helpers'无法找到。

     

警告引用的组件' System.Web.Razor'无法找到。

     

警告引用的组件' Microsoft.AI.ServerTelemetryChannel'无法找到。

     

警告引用的组件' Microsoft.AI.Agent.Intercept'无法找到。

     

警告引用的组件' System.Xml.Linq'无法找到。

     

警告引用的组件' WebGrease'无法找到。

     

警告引用的组件' System.Drawing'无法找到。

     

警告引用的组件' System.Core'无法找到。

     

警告引用的组件' Microsoft.CSharp'无法找到。

     

警告引用的组件' System.Web.Extensions'无法找到。

     

警告引用的组件' Microsoft.AI.WindowsServer'无法找到。

     

警告引用的组件' System.Data.DataSetExtensions'无法找到。

     

警告引用的组件' System.Web.Entity'无法找到。

     

警告引用的组件' System.Web.WebPages'无法找到。

     

警告引用的组件' System.Data'无法找到。

2 个答案:

答案 0 :(得分:1)

  

尝试还原包时发生错误。缺少根元素。

当您收到此错误时,您应确保任何XML文件(或由visual studio解释为XML文件的任何文件,尤其是nuget.config,.csproj.web。 config,web.config.transform等等具有正确的XML结构 - 即一个根元素,例如nuget.config文件中的<configuration>

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
  </packageSources>
</configuration>

要检测错误A root element is missing的来源,您可以使用项目创建新的空白解决方案。然后安装任何nuget包,如果该错误仍然存​​在,您应该特别检查文件夹nuget.config中的文件%appdata%\NuGet。如果该错误消失,则错误应与您的项目文件.csprojweb.configweb.config.transform等更相关。

  

所有软件包都已安装,无需恢复。

通常在未加载项目时会出现此错误,因此请确保在还原解决方案时加载解决方案中的所有项目。

答案 1 :(得分:-1)

要处理此错误,请在Nuget控制台窗口中输入以下命令:

Update-Package -reinstall  -ProjectName Your-Project-Name

这将更新所有丢失的文件。