将基本 UserControl 的修饰符设置为受保护时,Visual Studio 崩溃
Posted
技术标签:
【中文标题】将基本 UserControl 的修饰符设置为受保护时,Visual Studio 崩溃【英文标题】:Visual Studio crashes while setting the modifier of base UserControl to protected 【发布时间】:2014-10-25 17:57:28 【问题描述】:我有一个用户控件类BaseUserControl
和一个派生自BaseUserControl
的类DerivedUserControl
。两者都在 Visual Studio 设计器中正确显示,重建解决方案后也是如此。
在BaseUserControl
中,我有一个protected
标签和其他protected
控件。我想为派生控件隐藏这个标签。因此,我在用户代码文件以及DerivedUserControl
的设计器代码文件中搜索了它的名称,以保证DerivedUserControl
没有使用它,并且没有发现任何情况。
然后我在BaseUserControl
的设计器中设置这个标签的修饰符从protected
到private
来隐藏它。我没有更改任何其他控件,也没有代码文件。
然后我再次重新构建解决方案,并想向DerivedUserControl
的设计者展示。但是现在 Visual Studio 崩溃了。
因此我尝试通过在BaseUserControl
的设计器代码文件中将标签修饰符手动重置为protected
来解决问题。但是,如果我打开 DerivedUserControl
的设计器,尽管重建 Visual Studio 仍然总是崩溃。
我有 Microsoft Visual Studio Ultimate 2012 版本 11.0.61030.00 Update 4 和 Microsoft .NET Framework 版本 4.5.50938。
有没有人解决这个问题的想法?
【问题讨论】:
你得到什么错误?你的意思是视觉工作室崩溃还是你的程序崩溃了? Visual Studio 崩溃,没有任何确切的错误消息。 “Visual Studio 不起作用。”然后它想重新启动自己。 这是受保护的字段或属性吗?如果后者发布代码。 一个简单的标签字段,如果在设计器中创建标签,则由设计器自动生成。 抱歉,不知道。根据我的经验,如果您引用该属性并且该属性导致递归,则会发生这种情况。 【参考方案1】:看起来BaseUserControl
中使用的一些资源被删除了。现在我再次添加它们并运行。但不幸的是,我不知道它们是如何被删除的,以及为什么 BaseUserControl
可以在设计器中显示而没有任何错误,而不是 DerivedUserControl
。
【讨论】:
以上是关于将基本 UserControl 的修饰符设置为受保护时,Visual Studio 崩溃的主要内容,如果未能解决你的问题,请参考以下文章