【问题标题】:Nuget - "Name cannot begin with the '<' characterNuget - “名称不能以'<'字符开头
【发布时间】:2018-02-18 03:28:31
【问题描述】:

我有 VS 2013 更新 5。我右键单击一个项目并选择“管理 NuGet 包”。当我尝试安装“SpecFlow”包时,我收到消息:

"名称不能以'

如果我使用包管理器控制台也会遇到同样的问题

任何想法它指的是哪个文件?我该如何解决这个问题?

【问题讨论】:

  • 尝试通过 Nuget 控制台安装它:nuget install SpecFlow
  • 你的意思是来自包管理器控制台吗?我得到“无法识别‘nuget’这个词”
  • 尝试运行Install-Package SpecFlow ?
  • 嗯,好的 - 然后我得到同样的错误:“名称不能以 '
  • 您使用的是最新的 NuGet 版本吗?你可以从nuget.org/downloads下载VS 2013扩展

标签: visual-studio visual-studio-2013 nuget


【解决方案1】:

任何想法它指的是哪个文件?我该如何解决这个问题?

你能在安装包SpecFlow之前成功构建你的应用程序吗?似乎web.config 或其他具有意外结束标记的文件中可能存在错误

根据您在输出中的构建日志:

您可以注意到该包已经成功安装到项目中,但是在将包添加到 Common.Components 时,NuGet 会抛出异常。您可以尝试将此包安装到新创建的项目中,然后检查是否仍然存在问题。

作为测试,我创建了一个新的 ASP.NET Web API 项目并删除了 web.config 中的 &gt; 标记。然后我尝试使用这个格式错误的 web.config 将 NuGet 包安装到项目中,我收到以下错误:

所以我的建议是仔细检查所有与项目有任何关系的文件(例如绑定到设置的一些属性、您之前在设计器中设置的资源、项目参考)

注意:许多格式错误的错误可以在不提及任何警告的情况下构建。所以我们还需要手动检查畸形错误。

【讨论】:

  • 非常感谢里奥。根据您的建议,我发现 Common.Components 项目上的 App.config 文件包含一行
【解决方案2】:

在本地启动我的 ASP.NET 服务器时,我遇到了类似的错误。错误消息指出 XML 在特定行的 web.config 格式错误,我疯狂地寻找该文件中的错误。

如果您遇到此类错误,请在 web.config 中查找导入另一个文件的节点,例如 &lt;appSettings file="PrivateSettings.config"&gt;

此语句实际上会在该行注入该文件的内容,错误消息将不包含正在解析的实际 XML。

检查解析过程中可能注入的其他文件的内容。

【讨论】:

    【解决方案3】:

    我将分享我的答案,因为我遇到了同样的问题,但解决方案对我来说不同。 Rob Bowman 的评论对我来说是一个暗示。我在本地分支上工作,想切换回主分支来看看一些东西。在切换分支时,我选择隐藏我的更改。 Visual Studio 在这个过程中搞砸了一些事情。我打开 web.config 文件并在其中发现了一些关于存储的奇怪代码。我返回并在第一个分支中提交了我的更改并解决了任何分支更改/存储问题,然后此错误消失了,无需进行任何手动代码编辑。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-08
      • 1970-01-01
      • 1970-01-01
      • 2020-01-14
      • 1970-01-01
      • 2014-04-16
      • 1970-01-01
      • 2021-08-16
      相关资源
      最近更新 更多