我有VS 2013更新5.我右键单击一个项目并选择" Manage NuGet Packages"。当我尝试安装" SpecFlow"包我收到消息:
"名称不能以'<'字符,十六进制值0x3C, 第10行,第2位。"
如果我使用包管理器控制台
,我会遇到同样的问题提交给它的任何想法?我该如何解决这个问题?
答案 0 :(得分:3)
提交给它的任何想法?我该如何解决这个问题?
在安装软件包SpecFlow
之前,您是否可以成功构建应用程序?似乎在web.config
或其他具有意外结束标记的文件中可能存在错误。
根据输出中的构建日志:
您可以注意到该软件包已成功安装到项目中,但在向Common.Components添加软件包时,NuGet会抛出异常。您可以尝试将此软件包安装到新的创建项目,并检查是否仍然看到问题。
作为测试,我创建了一个新的ASP.NET Web API项目并删除了web.config中的>
标记。然后我尝试使用这个格式错误的web.config将NuGet包安装到项目中我收到以下错误:
所以我的建议是仔细检查所有与项目有关系的文件(比如绑定到设置的一些属性,您之前在设计器中设置的资源,项目参考)
注意:许多格式错误的错误能够在不提及任何警告的情况下构建。所以我们还需要手动检查格式错误。
答案 1 :(得分:0)
在本地启动ASP.NET服务器时遇到类似的错误。错误消息指出XML在web.config
的特定行中格式不正确,我发疯了自己寻找该文件中的错误。
如果遇到这样的错误,请在web.config
中查找导入了另一个文件的节点,例如<appSettings file="PrivateSettings.config">
。
此语句实际上将在该行插入该文件的内容,并且错误消息将不包含要解析的实际XML。
检查在解析过程中可能注入的其他文件的内容。
答案 2 :(得分:0)
我会分享我的答案,因为我遇到了同样的问题,但解决方案对我来说是不同的。 Rob Bowman 的评论对我来说是一个提示。我在一个本地分支上工作,想切换回 master 分支看一看。当切换分支时,我选择隐藏我的更改。 Visual Studio 在这个过程中搞砸了一些事情。我打开了 web.config 文件,发现里面有一些关于 stash 的奇怪代码。我返回并在第一个分支中提交了我的更改,并解决了任何分支更改/存储问题,然后此错误消失了,无需进行任何手动代码编辑。