3

ここでそのような質問を見ましたが、答えが見つかりませんでした。

私は2つのプロジェクトを持っています:

  • WinForm ライブラリ
    • BaseUserComponent ( System.ComponentModel.Componentから継承された抽象クラス
    • MyControl ( BaseUserComponentタイプのComponentという名前のプロパティがあります)
  • WinForm アプリケーション
    • UserComponent ( BaseUserComponent の実装)
    • Form ( UserComponentMyControlを含む)

問題は、デザイナーが 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)

ソリューション全体、プロジェクトを何度も再構築しようとしましたが、効果がありません。

4

0 に答える 0