InvalidCastException beim Serialisieren und Deserialisieren

Ich habe diesen Code:

public byte[] SerializeToBlob()
{
    using (var buffer = new MemoryStream())
    {
        var formatter = new BinaryFormatter();
        formatter.Serialize(buffer, this);
        buffer.Position = 0;
        return buffer.ToArray();
    }
}

public static ActionData DeserializeFromBlob(byte[] state)
{
    using (var buffer = new MemoryStream(state))
    {
        var formatter = new BinaryFormatter();
        var result = formatter.Deserialize(buffer);
        return (ActionData) result;
    }
}

Und nenne es wie folgt:

byte[] actionDataBlob = ad.SerializeToBlob();
var ad1 = ActionData.DeserializeFromBlob(actionDataBlob);

Ich erhalte jedoch eine InvalidCastException, wenn versucht wird, das deserialisierte Objekt in seinen Typ umzuwandeln:

[A] ActionData kann nicht in [B] ActionData umgewandelt werden. Typ A stammt aus "XXXX.XXXX.Auditing, Version = 1.0.76.0, Culture = neutral, PublicKeyToken = null" im Kontext "Default" am Speicherort "C: \ Users \ Craig \ AppData \ Local \ Temp \ Temporary ASP". NET-Dateien \ root \ 5d978e5b \ ffc57fe1 \ assembly \ dl3 \ 2b1e5f8f \ 102c846e_9506ca01 \ XXXX.XXXX.Auditing.DLL '. Typ B stammt aus 'XXXX.XXXX.Auditing, Version = 1.0.76.0, Culture = neutral, PublicKeyToken = null' im Kontext 'LoadNeither' am Speicherort 'F: \ Visual Studio Projects \ XXXXXXXXX \ source \ XXXX.XXXX.SilverlightClient .Web \ bin \ XXXX.XXXX.Auditing.dll '.

(XXXX.XXXX dient dazu, den Namen des Kunden zu verbergen.)

Was gibt?

Ich habe jetzt hier eine verwandte Frage gestellt:

Wie soll ich einige einfache Überwachungsdaten zum Speichern in einer SQL-Tabelle serialisieren?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage