You need to derive a class from SerializationBinder and then set the Binder property on your BinaryFormatter.
e.g.
internal class ConvertingBinder : SerializationBinder
{
public override Type BindToType(string assemblyName, string typeName)
{
if ( assemblyName.StartsWith("MyOtherProgram") )
{
return System.Type.GetType( typeName ); // Get it from this assembly
}
else
{
return System.Type.GetType( typeName + "," + assemblyName );
}
}
}