SerializationBinder com a lista <T>

Estou tentando fazer oBinaryFormatter trabalho em diferentes versões da minha montagem. A classe real que eu quero desserializar é exatamente a mesma em cada versão de montagem, mas na desserialização, porque os objetos são serializados incluem o nome do assembly de onde vieram, oBinaryFormatter está reclamando que não consegue encontrar a montagem correta. Então eu criei um @ personalizaSerializationBinder que diz aoBinaryFormatter para desserializar sempre para a versão atual da montage

Meu esquema funciona e pode desserializar objetos corretamente, mas não funciona se meu objeto for uma Lista de T, onde T era um tipo serializado de uma versão mais antiga do meu assembl

xiste alguma maneira de fazer isso funcionar com Listas e outros tipos genéricos nos quais o parâmetro type é uma classe do meu assembl

//the object i want to deserialize
class MyObject
{
     public string Name{get;set;}
}

//my binder class
class MyBinder : SerializationBinder
{
    static string assemblyToUse = typeof (MyObject).Assembly.FullName;
    public override Type BindToType(string assemblyName, string typeName)
    {
        var isMyAssembly = assemblyName.StartsWith("oldAssemblyName");
        var assemblyNameToUse = isMyAssembly ? assemblyToUse : assemblyName;
        var tn = typeName + ", " + assemblyNameToUse;
        return Type.GetType(tn);            
    }
}


//my deserialize method
static object BinaryDeserialize(string input)
{
    var arr = Convert.FromBase64String(input);
    var ms = new MemoryStream(arr);
    ms.Seek(0, SeekOrigin.Begin);
    var bf = new BinaryFormatter();
    bf.Binder = new MyBinder();
    var obj = bf.Deserialize(ms);

    return obj;
}

static void Test()
{
    //this works
    //serialized(new MyObject());
    var str = ReadSerialized_MyObject();  
    var obj = BinaryDeserialize(str);

    //this doesn't work
    //serialized(new List<MyObject>());
    var str2 = ReadSerialized_List_of_MyObject(); 
    var obj = BinaryDeserialize(str2);
}

questionAnswers(3)

yourAnswerToTheQuestion