【问题标题】:Nuget says packages are missing, Package Manager Restore says all packages are installedNuget 说缺少软件包,Package Manager Restore 说所有软件包都已安装
【发布时间】:2018-01-04 13:12:14
【问题描述】:

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

我无法再从 nuget 安装任何东西了。起初我一直收到错误消息:

尝试还原软件包时出错。缺少根元素。

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

错误列表:

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

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

包管理器恢复:

所有软件包都已安装,没有什么可恢复的。
已用时间: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”。

【问题讨论】:

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


    【解决方案1】:

    尝试还原软件包时出错。缺少根元素。

    当您收到此错误时,您应该确保任何 XML 文件(或任何会被 Visual Studio 解释为 XML 文件的文件,尤其是 nuget.config、.csproj.web.xml 文件)。 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 包,如果该错误仍然存​​在,您应该特别检查文件夹 %appdata%\NuGet 中的文件 nuget.config。如果该错误消失,则该错误应该与您的项目文件更相关,.csprojweb.configweb.config.transform 等等。

    所有包都已安装,没有什么可恢复的。

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-11-15
        • 2018-11-01
        • 1970-01-01
        • 2018-04-24
        • 1970-01-01
        • 2019-09-10
        • 1970-01-01
        相关资源
        最近更新 更多