Alterar as propriedades implementadas automaticamente para normal e desserialização com BinaryFormatter

Eu tenho um objeto com uma propriedade implementada como

public String Bla {get;set;} 

Depois de mudar a implementação para algo como

private String _bla;

public String Bla
{
    get { return _bla; }
    set { _bla = value; } 
} 

na deserialização, esta Propriedade aparece vazia.

Eu tenho muitos dados serializados da implementação antiga e gostaria de carregá-los com a nova implementação

Existe alguma maneira, para alterar a implentação para ser compatível com arquivos binários antigos?

EDITAR:

Algumas pessoas podem ter o mesmo problema, então aqui está minha solução hackeada:

os campos autogerados possuem uma convenção de nomenclatura que é código c # inválido:

[CompilerGenerated]
private string <MyField>k__BackingField;

[CompilerGenerated]
public void set_MyField(string value)
{
    this.<MyField>k__BackingField = value;
}

[CompilerGenerated]
public string get_MyField()
{
    return this.<MyField>k__BackingField;
}

a solução rápida e suja para mim foi criar um campo de apoio privado chamadoxMyFieldxK__BackingField na fonte,

e remendar os dados binários serializados, substituindo todas as ocorrências de<MyField> comxMyFieldx antes da desserialização

questionAnswers(2)

yourAnswerToTheQuestion