这是一个后续问题:错误序列化继承财产在.NET 4.5
Serialization breaks in .NET 4.5
我在这是造成我的悲伤中的序列化的.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安装在Traget计算机上时,才应该设置此配置,否则会引发异常)。
我想我可以一起删除属性,但由于我正在处理一个庞大而复杂的遗留系统,我不知道副作用可能是什么。
所以我quesion是双重的:
为什么inhertied财产中断.net 4.5序列化?
如果我删除继承的属性,我应该期待什么讨厌的副作用?
谢谢。如果我将编译类型更改为4.5,这是否可行?因为在这种情况下,旧版本的标记将无济于事,因为这是在4.5版本中编译的4.0否 – 2013-03-14 18:30:55
如果您在4.5运行时运行4.5/4.0目标应用程序,则此开关运行良好。但是,如果您在纯4.0机器上运行4.0目标应用程序,交换机将失败。但是,如果您在纯4.0运行时运行应用程序,则不需要此配置开关,因为您的解串器在此处已经正常工作。所以你只需要根据你的机器的运行时间有条件地配置这个配置开关。 – Praburaj 2013-03-14 19:07:23