Sharing Serialization Data Between Assemblys.

Hey folks,

My first post here on the MSDN forums, so, Hello! :)

I'm developing a program (an "editor" of sorts) which stores its final data in a serialized file.
The final data is a single serialized class which describes what my client program will use.

Editor.EXE (outline)
namespace MySharedData
sealed class SharedData
string SomeData
void SaveToDisk()
static SharedData LoadFromDisk()

My editor makes the file, and calls SaveToDisk() which saves SharedData using the binary formatter. The File is 'DATA.DAT'. This works fine.

My client program needs to load this data up.

Client.EXE (outline)

namespace MySharedData
sealed class SharedData
string SomeData
void SaveToDisk()
static SharedData LoadFromDisk()


My problem occurs when i attempt to load the file back up. LoadFromDisk() throws an exception because it cannot find the assembly EDITOR.EXE. My serialized data is somehow tied into the program that created it

Just to see what would happen, i did place EDITOR.EXE in the client programs folder so it could be referenced, and i got a different exception reporting that my deserialized data could not be casted to MySharedData.SharedData.

So, in a nutshell, my question is: how do I serialize my class and allow it to be used by a different assembly

Thanks to readers/replys for any help they can provide in advance :).

-lexxy.





Answer this question

Sharing Serialization Data Between Assemblys.

  • lleoneye

    Found a solution.

    Created A Custom SerializationBinder To Bind The Serialized Object To The Correct Assembly Type.

    Cool. :)

    thanks anyway.

    -lexxy



  • Sharing Serialization Data Between Assemblys.