每隔一段时间,当我编辑 aspx 或 ascx 页面时,Visual Studio 会开始告诉我文件的第一行有错误。例如,现在,它Argument missing
在第 1 行上说。该行只是您的典型标题,没有明显的问题(在我看来),当错误开始出现时,我什至没有更改该行。
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="MyControl.ascx.cs"
Inherits="MyNamespace.MyControl" Debug="true" %>
与大多数编译错误不同,构建仍然成功。(至少这次是这样。)
值得注意的是,此文件或其 as[p|c]x.cs 不会引发其他错误或警告
有时,为了摆脱它,我不得不撤消我的更改,直到它消失,然后小心地重做我想要的。这一次,我抓住稻草,清理并重建了解决方案。当我输入这个时,错误消失了,在重建完成后的某个时间。
我怀疑在我修改标记中的数据绑定时经常会发生这种情况。有时,如果我在结束斜杠之前缺少标签内的空格,它似乎会出现,如下所示:
[...] Text='<%# Eval("Field") %>'/>
相对:
[...] Text='<%# Eval("Field") %>' />
...但在这种情况下,这似乎不是问题。
在编码 PHP 和 Perl 时,有时解释器会在引用文件的最后一行时抛出错误。随着时间的推移,我学会了在上面的某个地方寻找不平衡的括号和其他分隔符。ASP.NET 中的这个问题感觉很相似,但很奇怪,因为它是第一行,而不仅仅是上面的问题,向下层叠到底部。还是只是 Visual Studio 暂时感到困惑?任何专业人士都可以阐明这个问题,以及为什么会发生这种情况吗?我想有一些逻辑(而不是我自己建立的迷信)下次它抬起丑陋的头时抛出这个。