Asp.net Visual Studio浏览器链接导致InvalidOperationException:堆栈为空

Asp.net Visual Studio浏览器链接导致InvalidOperationException:堆栈为空,asp.net,visual-studio-2015,custom-server-controls,browser-link,Asp.net,Visual Studio 2015,Custom Server Controls,Browser Link,我有一个4.6版的WebForms网站和一个简单的自定义WebControl。当我做以下事情时: [PersistenceMode(PersistenceMode.InnerProperty)] [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] public SomeControl Contents { get; set; } public override void RenderControl

我有一个4.6版的WebForms网站和一个简单的自定义WebControl。当我做以下事情时:

[PersistenceMode(PersistenceMode.InnerProperty)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public SomeControl Contents { get; set; }

public override void RenderControl(HtmlTextWriter writer) {
    // Simplified code
    Contents.RenderControl(writer);
}
。。。我可以在一页中插入控件一次,一切正常。但是,如果我多次插入控件,或者在上面的示例中添加另一个属性,如
Contents
,然后在本地覆盖中的两个控件上运行
RenderControl
(即在
public override void RenderControl
的主体中),我会得到一个异常:

[无效操作异常:堆栈为空。] System.ThrowHelper.ThrowInvalidOperationException(异常资源)+52 System.Collections.Generic.Stack`1.Pop()+6856361
Microsoft.VisualStudio.Web.PageInspector.Runtime.WebForms.SelectionMappingRenderTraceListener.EndRendering(TextWriter编写器、对象RenderObject)+84
System.Web.UI.RenderTraceListenerList.EndRendering(TextWriter编写器、对象RenderObject)+66
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter编写器、ControlAdapter适配器)+170
System.Web.UI.Control.RenderControl(HtmlTextWriter编写器、控制适配器)+9796138
System.Web.UI.Control.RenderControl(HtmlTextWriter编写器)+25
System.Web.UI.Page.ProcessRequestMain(布尔includeStagesBeforeAsyncPoint,布尔includeStagesAfterAsyncPoint)+1303

显然,此错误是由Visual Studio浏览器链接功能(或其后续功能)引起的。如果我禁用它,错误就会消失

同样的问题也在其他环境中讨论过,例如,和,也只是指出了一些示例,并提出了一些修复方法。不过,这些修复都与完全或部分禁用浏览器链接或页面检查器功能有关

我想知道是否有人有办法通过在我的代码示例的
public override void RenderControl
方法中修改代码,引入对某些内容或任何内容的检查来防止错误发生