我最近在使用继承的UserControls时在VS2010SP1的Windows窗体设计器中出现错误.
错误是
无法为此文件显示设计器,因为其中的所有类都无法设计.设计人员检查了文件中的以下类:DebugPanel ---无法加载基类"UI.Panels.PanelBase".确保已引用程序集并且已构建所有项目.
PanelBase是一个UserControl,它在与DebugPanel相同的类库中定义,它也实现了一个接口IPanel(在同一个类库中定义).IPanel实现了一个在不同类库中定义的接口IBaseItem.
所以我们有
DebugPanel (Library UI.Shared2)
- PanelBase (Library UI.Shared2)
- UserControl (System.Windows.Forms - .NET4)
- IPanel (Library UI.Shared2)
- IBaseItem (Library Net.Common)
Run Code Online (Sandbox Code Playgroud)
PanelBase可以正确设计,项目都可以正确构建并且可以工作但是当我尝试设计任何继承的控件时,设计器会失败.这不仅限于DebugPanel控件,而是继承自PanelBase的任何控件......我也看到了我使用的具有类似继承层次结构的其他控件的问题.
我通常可以通过清理库UI.Shared2,关闭VS然后再次打开它,重建解决方案并打开设计器来临时解决问题.然后这将工作一段时间,然后再次开始失败.
有没有人有任何建议可以永久解决这个问题,而无需重新启动VS?
编辑:我的目标是所有库的完整版.NET 4.