对象类型' X'无法转换为' Y'

时间:2013-09-09 08:30:42

标签: c# .net winforms visual-studio-2012 windows-forms-designer

我见过这样的问题here,但我找不到答案。

我有两个项目:

  • WinForms库
    • BaseUserComponent (从 System.ComponentModel.Component继承的抽象类
    • MyControl (具有 BaseUserComponent 类型 Component 的属性)
  • WinForms应用程序
    • UserComponent BaseUserComponent 的实施)
    • 表单(包含 UserComponent MyControl

问题是当设计人员尝试将 MyControl Component 属性分配给 UserComponent 的实例时。当我第一次打开设计器时所有工作正常但在表单设计器中的任何更改后显示错误'Object of type 'UserComponent' cannot be converted to type 'BaseUserComponent'。但UserComponent继承自BaseUserComponent,因此它应该正常工作。

例外:

at System.ComponentModel.ReflectPropertyDescriptor.SetValue(Object component, Object value)
at Microsoft.VisualStudio.Shell.Design.VsTargetFrameworkPropertyDescriptor.SetValue(Object component, Object value)
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializePropertyAssignStatement(IDesignerSerializationManager manager, CodeAssignStatement statement, CodePropertyReferenceExpression propertyReferenceEx, Boolean reportError)
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeAssignStatement(IDesignerSerializationManager manager, CodeAssignStatement statement)
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeStatement(IDesignerSerializationManager manager, CodeStatement statement)

我尝试重建整个解决方案,多次投影并且没有效果。

0 个答案:

没有答案