Little Flying Turtle
Little Flying Turtle

Reputation: 91

Type in assembly is not marked as serializable

I have an entityClass that I wish to serialize as a clone. But this class has a reference assembly from a custom framework which I don't have the access to the code. Whenever I try to serialize entityClass object, it throw the exception,

Type ... in Assembly '..., Version=4.1.0.0, Culture=neutral, PublicKeyToken=null' is not marked as serializable.

Upvotes: 7

Views: 35486

Answers (3)

live-love
live-love

Reputation: 52444

If you get this error, try adding Serializable attribute to your class. Example:

   [Serializable]
   public class MyModel 
   {
      public int? ID { get; set; }
      ...
   }

Upvotes: 0

Bianca Kalman
Bianca Kalman

Reputation: 229

If you have PropertyChanged event then set it to [NonSerialized] in all objects(classes) you will Serialize.

    [field: NonSerialized]
    public event PropertyChangedEventHandler PropertyChanged;

Upvotes: 8

Phillip Scott Givens
Phillip Scott Givens

Reputation: 5464

Assuming that the problem is that a field/property on your object is of the problem type, you need to either mark the field/property as NonSerialized or create a derivative of the type which is marked as Serializable

If you derive from the type and mark it as Serialized, you will most likely have to create the serialization logic yourself. This requires you to implement ISerializable and a serialization constructor which takes SerializationInfo and StreamingContext.

This link may help.

Upvotes: 11

Related Questions