ASP.NET: сообщение об ошибке синтаксического анализатора с vbc.exe - PullRequest
0 голосов
/ 06 июля 2010

Вот сценарий:

У нас есть система управления контентом, работающая на ASP.NET, работающая на сервере, которая построена сторонней организацией и поэтому, к сожалению, должна рассматриваться как «черный ящик» дляЦели этого вопроса.Я не знаю много о том, как это работает.Windows 2008 с IIS 7.

В течение нескольких недель он будет работать нормально, а затем внезапно начнет возвращать эту ошибку .NET Parser всякий раз, когда кто-либо пытается получить доступ к странице:

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, который, как я знаю, связан с компиляцией ASPX-страниц.И из строк исходного текста, которые он цитирует, это происходит при попытке @Register пользовательских элементов управления на странице.

Есть ли у кого-нибудь какие-либо намеки или догадки о том, что может быть причиной этого?Например, это то, что происходит, когда на сервере мало ресурсов?

Ответы [ 2 ]

1 голос
/ 14 июля 2010

Для дальнейшего использования оказалось, что нехватка памяти вызвана утечкой памяти в COM-компоненте, который использовался сайтом.

Установка предела памяти в настройках перезапуска пула приложений оказалась временным исправлением до тех пор, пока утечка памяти не будет решена.

0 голосов
/ 06 июля 2010

Я не знаю, вызвано ли следующее копированием / вставкой или усечено сообщением об исключении, но когда я копирую, вставляю ваш aspx-код на новую страницу, я сначала получаю ошибку во время компиляции, что мое «Если»завершается "End If", но я не вижу, как это может вызвать сообщение, которое вы получите.(протестировано с ASP.NET Development Server, VS2010 в веб-проекте ASP.NET 2.0)

Второе, что меня поражает, это то, что строка

<!--<%@ Register Src="/web/ContentLibrary/Section/section125.ascx" TagName="section125" TagPrefix="uc1" %><uc1:section125 ID="section125" runat="server" />-->

хотяпо-прежнему нуждается в существовании элемента управления section125.ascx.Может быть, ошибка генерируется внутри элемента управления section125.ascx.

Можете ли вы попытаться удалить закомментированный оператор @Register?

...