ASP.NET - 在VS 2017中浏览Nuget包时出现“根级别的数据无效”错误

时间:2018-01-03 01:15:35

标签: c# .net visual-studio nuget visual-studio-2017

我正在尝试使用Nuget Package Manager创建.NET Web API应用程序并安装EntityFramework。

但是,当我要去:右键单击项目参考>管理Nuget包>浏览我在列表中找不到 Microsoft.EntityFrameworkCore

然后我在输出部分的底部显示了这个错误:

[nuget.org] Data at the root level is invalid. Line 1, position 1.

我使用 VS 2017 15.5.2 .Net Framework 4.7.02556

使用 dotnet cli 命令时,我也会收到此错误 dotnet add package Microsoft.EntityFrameworkCore

error: The content at 'https://api.nuget.org/v3/index.json/FindPackagesById()?id='Microsoft.EntityFrameworkCore'' is not valid XML. error: Data at the root level is invalid. Line 1, position 1.

看起来dotnet cli正在尝试将远程index.json文件作为XML文件加载。

为了您的信息,dotnet --version正在显示2.1.3

有什么想法吗?

7 个答案:

答案 0 :(得分:3)

使用 VS 2019,我的解决方案是清除所有 NuGet 缓存

这可以通过选项 -> NuGet 包管理器 -> 常规 -> 清除所有 NuGet 缓存来实现。

答案 1 :(得分:2)

  

ASP.NET - 在VS 2017中浏览Nuget包时,“根级别的数据无效”错误

根据错误日志

  

根级别的数据无效。第1行,第1位。

项目中的XML格式看起来像是错误,例如web.configNuGet.Config(路径:%appdata%\ NuGet)。因此,请检查您的xml文件是否有异常,删除<?xml version="1.0" encoding="utf-8"?>之前的所有内容。

如果您仍未在项目中发现任何异常,请创建一个新的空白项目而不做任何修改,然后右键单击项目参考&gt;管理Nuget包&gt;浏览,找到包Microsoft.EntityFrameworkCore

作为测试,我创建了一个.NET Web API应用程序项目,更改了web.config文件中的第一行:

`<?xml version="1.0" encoding="utf-8"?>`

要:

zzxml version="1.0" encoding="utf-8"?>

然后打开软件包管理器控制台,用命令行安装一些软件包,我会收到错误:

enter image description here

答案 2 :(得分:1)

看起来错误来自%appdata%/ Roaming / NuGet / NuGet.Config 文件 此文件中没有语法错误,但我刚删除它并重新打开VS 2017,创建了另一个 NuGet.Config ,其数据少于删除的数据。 然后错误就消失了。

答案 3 :(得分:1)

我刚刚删除了文件c:\ Users {username} \ AppData \ Roaming \ NuGet \ NuGet.Config和Visual Studio 2015再次与nuget.org合作。

答案 4 :(得分:0)

我已经看到这种情况发生在隐藏的字符进入文件之前。.使用bitbucket在线编辑器编辑此文件,可以看到红点吗?这些表示某些无法打印的字符,将导致上述错误,即nuget.config损坏

enter image description here

答案 5 :(得分:0)

我的包装源上有尾随的分号。删除该问题,然后重新启动Visual Studio解决了该问题。我在NuGet.Config所在的同一文件夹中定义了一个自定义*.sln文件,但这也会在您的%appdata%/NuGet/NuGet.Config路径上引起问题。

Trailing semicolon on package source

答案 6 :(得分:0)

就我而言,我遵循以下步骤:

  1. 使用 Visual Studio 安装程序应用修复 Visual Studio 2019。

  2. 使用 Tools ==> Option ==> Nugate Package 清除所有 nugate cashes 管理器 ==> 常规 ==> 清除所有 NuGage 缓存。

  3. 清理解决方案并构建解决方案。