ASP.NET:VBC.Exeを使用したパーサーエラーメッセージ
質問
これがシナリオです:
サーバーで実行されているASP.NET駆動のコンテンツ管理システムがあります。これは、サードパーティによって構築されているため、残念ながらこの質問の目的のために「ブラックボックス」と見なされる必要があります。それがどのように機能するかについてはあまり知りません。 IIS 7を搭載したWindows 2008。
数週間は正常に動作し、その後、誰かがページにアクセスしようとするたびに、この.NETパーサーエラーの返品を突然開始します。
Parser Error
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.
Parser Error Message: Cannot execute a program. The command being executed was
"C:\Windows\Microsoft.NET\Framework\v2.0.50727\vbc.exe" /noconfig
@"C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\7082fc73\4a06ea64\iscamrh7.cmdline".
Source Error:
Line 69: <!--<%@ Register Src="/web/ContentLibrary/Section/section125.ascx" TagName="section125" TagPrefix="uc1" %><uc1:section125 ID="section125" runat="server" />-->
Line 70: <%If useAltStyles Then %>
Line 71: <%@ Register Src="/web/Tags/tag46.ascx" TagName="tag46_14" TagPrefix="uc14" %><uc14:tag46_14 ID="tag46_14" runat="server" />
Line 72: <%Else %>
Line 73: <%@ Register Src="/web/Tags/tag41.ascx" TagName="tag41_16" TagPrefix="uc16" %><uc16:tag41_16 ID="tag41_16" runat="server" />
このメッセージは、vbc.exeを「実行できない」ことを述べています。そして、それが引用するソースラインから、それはそれがしようとしているときに起こります @Register
ページ上のカスタムコントロール。
誰もがこれを引き起こしている可能性のあるものについてのヒントやハンチを持っていますか?たとえば、サーバーがリソースが少ないときに起こることはありますか?
解決
将来の参照のために、サイトが使用していたCOMコンポーネントのメモリリークによるメモリ不足であることが判明しました。
アプリケーションプールのリサイクル設定にメモリ制限を設定することは、メモリリークがソートされるまで一時的な修正であることが判明しました。
他のヒント
以下がコピー/貼り付けによって引き起こされるか、例外メッセージによって切り捨てられているかどうかはわかりませんが、新しいページでASPXコードをコピーすると、最初に「IF」を終了する必要がある」コンパイル時間エラーが表示されます。 「しかし、これがあなたが得るメッセージをどのように引き起こす可能性があるかがわかりません。 (ASP.NET Development Server、vs2010でASP.NET 2.0 Webプロジェクトでテストされています)
私を襲う2番目のことは、ラインが
<!--<%@ Register Src="/web/ContentLibrary/Section/section125.ascx" TagName="section125" TagPrefix="uc1" %><uc1:section125 ID="section125" runat="server" />-->
コメントされていますが、まだセクション125.ASCX制御が存在する必要があります。エラーがセクション125.ASCXコントロール内で生成される可能性があります。
コメントされた@registerステートメントを削除してみてください。