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 が一時的に混乱しているだけですか? 専門家は、この問題が発生する理由とともに、この問題に光を当てることができますか? 私は、次に醜い頭をもたげたときにこれをスローするためのいくつかの論理を (私自身の構築された迷信とは対照的に) 持ちたいと思います。