ここでそのような質問を見ましたが、答えが見つかりませんでした。
私は2つのプロジェクトを持っています:
- WinForm ライブラリ
- BaseUserComponent ( System.ComponentModel.Componentから継承された抽象クラス
- MyControl ( BaseUserComponentタイプのComponentという名前のプロパティがあります)
- WinForm アプリケーション
- UserComponent ( BaseUserComponent の実装)
- Form ( 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)
ソリューション全体、プロジェクトを何度も再構築しようとしましたが、効果がありません。