これはフォローアップの質問です:
.NET 4.5 でのシリアル化に問題を引き起こしているレガシー コードのプロパティがあります。
これはプロパティです:
[EditorBrowsable(EditorBrowsableState.Never), Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
private new object Value
{
get
{
return base.Value;
}
set
{
base.Value = value;
}
}
これはおそらく、基本クラスの「値」プロパティを隠そうとするために導入されました。これまでに機能した唯一の解決策は、.NET4 でシリアライズしたいことをシリアライザーに知らせることでした。しかし、これは私にとって問題です。(この構成は、ターゲット コンピュータに .NET 4.5 がインストールされている場合にのみ設定する必要があります。それ以外の場合は、例外が発生します)。
プロパティをまとめて削除できると思いますが、大規模で複雑なレガシー システムを扱っているため、どのような副作用があるのかわかりません。
だから私の質問は2つあります:
継承されたプロパティが .NET 4.5 シリアル化を壊すのはなぜですか?
継承されたプロパティを削除すると、どのような厄介な副作用が予想されますか?