Once running ASP.NET 4.x application built in Visual Studio 2013 I am getting the below exception.
I have tried to disable the PageInspector by removing page inspector assembly
<assemblies>
<remove assembly="Microsoft.VisualStudio.Web.PageInspector.Loader, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</assemblies>
and adding this configuration to app settings
<appSettings>
<add key="PageInspector:ServerCodeMappingSupport" value="Disabled"/>
</appSettings>
Nothing helped.
[/Pages/TargetPage.aspx] System.Web.HttpException (0x80004005): Exception of type 'System.Web.HttpException' was thrown. ---> System.Web.HttpUnhandledException (0x80004005): Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> System.InvalidOperationException: Stack empty.
at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
at System.Collections.Generic.Stack`1.Pop()
at Microsoft.VisualStudio.Web.PageInspector.Runtime.WebForms.SelectionMappingRenderTraceListener.EndRendering(TextWriter writer, Object renderedObject)
at System.Web.UI.RenderTraceListener.RenderTraceListenerList.EndRendering(TextWriter writer, Object renderedObject)
at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.HandleError(Exception e)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.LegacyPageAsyncInfo.<CallHandlersPossiblyUnderLock>b__32(Object o)
at System.Web.HttpContext.InvokeCancellableCallback(WaitCallback callback, Object state)
at System.Web.UI.Page.LegacyPageAsyncInfo.CallHandlersPossiblyUnderLock(Boolean onPageThread)
at System.Web.UI.Page.LegacyPageAsyncInfo.CallHandlers(Boolean onPageThread)
at System.Web.HttpAsyncResult.End()
at System.Web.UI.Page.LegacyAsyncPageEndProcessRequest(IAsyncResult result)
at System.Web.UI.Page.AsyncPageEndProcessRequest(IAsyncResult result)
Is there any way how to avoid the exception? Thanks a lot for any suggestions
I disabled browser link in VS 2013 and was able to see the actual cause of the error. It is usually something underlying when browser link is set. You can see how to disable it here: http://www.poconosystems.com/software-development/how-to-disable-browser-link-in-visual-studio-2013/
That Happend to me when I added a new
<asp:Panel>
to my page and set theDefaultButton
to a button outside the panel (By mistake). Error fixed when I changed theDefaultButton
to another one inside the panel.There are multiple reasons why the
After adding as proposed:
I noticed I had duplicate selected item on a dropdown list creating the issue.
In my case (ASP.NET 4.6, Visual Studio 2015) I commented an asp text control and added a new asp drop down list but did not updated the AssociatedControlID of the associated label.
on changing the AssociatedControlID to newly added asp drop down list ID my problem was fixed.
This can happen if the
AssociatedControlID
on a label is associated with a control which can't be found.In my case, because I had so many issues migrating a website from VS2002 to VS2015, I decided to create a new project on VS2015 and transfer all webforms from the old project (VS2002) to the new one (VS2015).
The new project had a Site.Master page, which already has a tag. Because I was transferring old webforms without modification, they already had a tag too, so each page trying to load had two tags inside.
When I removed the tag on each page, leaving only the one on Site.Master page, the problem was solved.
I hope this helps.