最近,我在使用继承的VS2010SP1时,在Windows设计器中发现了一个错误。
错误是
无法为该文件显示设计器,因为无法设计其中的任何类。设计器检查了文件中的以下类: DebugPanel --无法加载基类'UI.Panels.PanelBase‘。确保程序集已被引用,并且所有项目都已生成。
PanelBase是定义在与DebugPanel相同的类库中的一个UserControl,它还实现了接口IPanel (依次在同一个类库中定义)。IPanel实现了在不同类库中定义的接口IBaseItem。
所以我们有
DebugPanel (Library UI.Shared2)
- PanelBase (Library UI.Shared2)
- UserControl (System.Windows.Forms - .NET4)
- IPanel (Library UI.Shared2)
- IBaseItem (Library Net.Common) PanelBase是可正确设计的,项目都是正确构建并工作的,但是当我尝试设计任何继承的控件时,设计器会失败。这不仅限于DebugPanel控件,还包括从PanelBase继承的任何控件.我还看到了我使用的具有类似继承层次结构的其他控件的问题。
我通常可以通过清理库UI.Shared2、关闭VS,然后再打开它、重新构建解决方案和打开设计器来临时解决这个问题。然后,这将工作一段时间,然后开始再次失败。
有没有人有任何建议可以永久解决这个问题,而不诉诸于重新启动VS?
编辑:,我的目标是所有库的.NET 4的完整版本。
发布于 2011-10-21 06:37:52
我建议将您的基类放在一个单独的项目中。显然,问题是VS正在丢失一些元信息,您可以通过退出和重建找到这些信息。如果基类位于单独的项目中,那么干净/重新构建更有可能使其更新。
发布于 2014-02-24 19:21:00
我也有过同样的问题。我有一个正在继承的表单对象/基对象,突然间,我看到了从Base继承的所有窗体的消息。
我试图回溯并找出最近发生了什么变化,并记得我将我的项目平台目标从任何CPU设置为x64。我将其更改为任何CPU,问题就得到了解决,然后再次将其设置为x64,仍然保持问题不变。
顺便说一句,这是相对于2013年。
发布于 2013-03-01 09:12:21
我最近一直有这个问题,并找到了一个简单和快速的解决办法,并决定分享它(在我的工作VS 2012)。
当你有这样的表格时:
public partial class MyForm : MyBaseForm而设计人员无法设计MyBaseForm,即the base class 'System.object' cannot be designed,我所要做的就是删除: MyBaseForm并恢复(Backspace > Ctrl + Z)。到那时,设计师就会清醒过来。
public partial class MyForm : MyBaseForm // The designer has trouble with this
public partial class MyForm // Force an error
public partial class MyForm : MyBaseForm // Revert back, the designer should now work again现在所要做的就是等待微软修复这个恼人的错误。
https://stackoverflow.com/questions/7765538
复制相似问题