配置部分在web.config文件中不能包含CDATA或文本元素错误

时间:2013-08-21 10:01:39

标签: asp.net web-config authorization

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

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

请帮我解决这个错误。

8 个答案:

答案 0 :(得分:31)

你面前有分号

<deny users="*"/>

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

答案 1 :(得分:24)

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

答案 2 :(得分:12)

通常在Web配置文件

中存在无效语法时会出现此错误

答案 3 :(得分:1)

将Sticky Notes中的整个连接设置复制到Machine.config文件时,我遇到了此问题。我尝试了.config文件,如果有任何&#34; S&#34;保存文件时可用的字符。 真正的问题就像我上面所说的那样。 解析度:: 我没有将Sticky Notes中的连接设置复制到.config文件,而是将设置复制到&#34;记事本&#34;然后复制到.config和IT WORKED !!!

答案 4 :(得分:1)

避免web-config标记中的杂散字符和空格。 我做的一切都很正确但我的问题是我有空间导致了这个问题。

答案 5 :(得分:1)

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

答案 6 :(得分:0)

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

之前: - &#34; (最后用双引号)

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

进行更改后,specflow对我来说运行正常。

答案 7 :(得分:0)

我遇到了类似的错误,事实证明我必须用实际制表符替换行开头的空格。不知道为什么,但那确实有效。