35

在服务器上执行应用程序时出现错误“配置部分不能包含 CDATA 或文本元素(web.confing 第 149 行)错误行如下,

<location path="admin">
   <system.web>
    <authorization>             
        <allow roles="Admin"/>
        <deny users="*"/>;
    </authorization>
   </system.web>
</location>

请帮助我解决这个错误。

4

8 回答 8

38

你前面有一个分号

<deny users="*"/>

不允许使用该分号,这就是您收到该错误的原因。

于 2014-01-07T13:45:29.120 回答
31

确保配置文件中没有杂散字符。它可以像放错位置的“-->”或额外的“。”或任何非常小的东西一样“无害”。

于 2015-07-01T14:08:47.117 回答
16

通常,当 Web 配置文件中存在无效语法时会出现此错误

于 2017-01-21T17:18:26.813 回答
3

仅当您的配置文件中错误地摄取了一些错误代码或垃圾代码时才会发生此错误,例如有时您错误地错过了删除分号或插入的错误关键字,而配置文件不接受您只需要正确读取文件并在删除垃圾代码后将开始工作文件没有显示编译时错误,但它会显示像这样的运行时错误。

于 2019-08-16T07:03:02.433 回答
2

避免在 web-config 标签中出现杂散字符和空格。我做的一切都是正确的,但我的问题是我有空间导致问题。

于 2017-05-18T11:47:54.997 回答
1

我在将整个连接设置从 Sticky Notes 复制到 Machine.config 文件时遇到了这个问题。我尝试了 .config 文件,如果在保存文件时有任何可用的“S”字符。真正的问题是我上面所说的。解决方案:: 我没有将粘滞便笺中的连接设置复制到 .config 文件,而是将设置复制到“记事本”,然后复制到 .config 并且它工作了!!!

于 2015-09-13T18:48:27.010 回答
1

即使我遇到了同样的问题,直到我纠正了一些语义错误

之前:-"(最后是双引号)

之后:-(最后的双引号被删除)

进行更改后,specflow 对我来说效果很好。

于 2016-05-22T13:33:18.393 回答
0

我遇到了类似的错误,结果我不得不用实际的制表符替换行首的空格。不知道为什么,但这有效。

于 2016-06-16T20:09:21.040 回答