次の属性を使用するパブリックプロパティを持つUserControlがあります。
[Browsable(false)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
所有者フォームを削除し、Visual Studio 2010で新しいフォームを再作成して、このUserControlをフォームに追加してみました。Designerファイルに次のような行を追加し続けます。
this.vMyUserControl.MyProperty = ((MyNamespace.MyClass)(resources.GetObject("vMyUserControl.MyProperty")));
このプロパティはシリアル化によって作成されるように設計されていないため、これによりアプリケーションがクラッシュします。