Index: trunk/sources/HeuristicLab.Persistence/3.3/Auxiliary/TypeName.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Auxiliary/TypeName.cs	(revision 4722)
+++ trunk/sources/HeuristicLab.Persistence/3.3/Auxiliary/TypeName.cs	(revision 4806)
@@ -96,5 +96,6 @@
 
 
-
+    [StorableConstructor]
+    protected TypeName(bool deserializing) { }
     /// <summary>
     /// Initializes a new instance of the <see cref="TypeName"/> class.
Index: trunk/sources/HeuristicLab.Persistence/3.3/Core/Configuration.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Core/Configuration.cs	(revision 4722)
+++ trunk/sources/HeuristicLab.Persistence/3.3/Core/Configuration.cs	(revision 4806)
@@ -50,5 +50,5 @@
 
     [StorableConstructor]
-    private Configuration(bool isDeserializing) {
+    protected Configuration(bool isDeserializing) {
       compositeSerializerCache = new Dictionary<Type, ICompositeSerializer>();
       if (isDeserializing)
Index: trunk/sources/HeuristicLab.Persistence/3.3/Core/FormatBase.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Core/FormatBase.cs	(revision 4722)
+++ trunk/sources/HeuristicLab.Persistence/3.3/Core/FormatBase.cs	(revision 4806)
@@ -37,9 +37,13 @@
     /// <value>The format's name.</value>
     public abstract string Name { get; }
-    
+
     /// <summary>
     /// Datatype that describes the atoms used for serialization serialization.
     /// </summary>
     public Type SerialDataType { get { return typeof(SerialDataFormat); } }
+
+    [StorableConstructor]
+    protected FormatBase(bool deserializing) { }
+    protected FormatBase() { }
 
     /// <summary>
Index: trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/ArraySerializer.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/ArraySerializer.cs	(revision 4722)
+++ trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/ArraySerializer.cs	(revision 4806)
@@ -30,4 +30,8 @@
   [StorableClass]
   internal sealed class ArraySerializer : ICompositeSerializer {
+
+    [StorableConstructor]
+    private ArraySerializer(bool deserializing) { }
+    public ArraySerializer() { }
 
     public int Priority {
Index: trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/CompactNumberArray2StringSerializer.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/CompactNumberArray2StringSerializer.cs	(revision 4722)
+++ trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/CompactNumberArray2StringSerializer.cs	(revision 4806)
@@ -80,4 +80,8 @@
       }
     }
+
+    [StorableConstructor]
+    private CompactNumberArray2StringSerializer(bool deserializing) { }
+    public CompactNumberArray2StringSerializer() { }
 
     public const int SPLIT_THRESHOLD = 1024 * 1024;
@@ -183,7 +187,9 @@
         }
         return a;
-      } catch (InvalidOperationException e) {
+      }
+      catch (InvalidOperationException e) {
         throw new PersistenceException("Insuffictient data to deserialize compact array", e);
-      } catch (InvalidCastException e) {
+      }
+      catch (InvalidCastException e) {
         throw new PersistenceException("Invalid element data during compact array deserialization", e);
       }
Index: trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/DictionarySerializer.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/DictionarySerializer.cs	(revision 4722)
+++ trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/DictionarySerializer.cs	(revision 4806)
@@ -32,4 +32,8 @@
   [StorableClass]
   internal sealed class DictionarySerializer : ICompositeSerializer {
+
+    [StorableConstructor]
+    private DictionarySerializer(bool deserializing) { }
+    public DictionarySerializer() { }
 
     public int Priority {
Index: trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/EnumSerializer.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/EnumSerializer.cs	(revision 4722)
+++ trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/EnumSerializer.cs	(revision 4806)
@@ -30,4 +30,8 @@
   [StorableClass]
   internal sealed class EnumSerializer : ICompositeSerializer {
+
+    [StorableConstructor]
+    private EnumSerializer(bool deserializing) { }
+    public EnumSerializer() { }
 
     public int Priority {
Index: trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/EnumerableSerializer.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/EnumerableSerializer.cs	(revision 4722)
+++ trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/EnumerableSerializer.cs	(revision 4806)
@@ -33,4 +33,8 @@
   [StorableClass]
   internal sealed class EnumerableSerializer : ICompositeSerializer {
+
+    [StorableConstructor]
+    private EnumerableSerializer(bool deserializing) { }
+    public EnumerableSerializer() { }
 
     public int Priority {
Index: trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/KeyValuePairSerializer.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/KeyValuePairSerializer.cs	(revision 4722)
+++ trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/KeyValuePairSerializer.cs	(revision 4806)
@@ -32,4 +32,8 @@
   [StorableClass]
   internal sealed class KeyValuePairSerializer : ICompositeSerializer {
+
+    [StorableConstructor]
+    private KeyValuePairSerializer(bool deserializing) { }
+    public KeyValuePairSerializer() { }
 
     public int Priority {
Index: trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Number2StringSerializer.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Number2StringSerializer.cs	(revision 4722)
+++ trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Number2StringSerializer.cs	(revision 4806)
@@ -42,4 +42,8 @@
   [StorableClass]
   public sealed class Number2StringSerializer : ICompositeSerializer {
+
+    [StorableConstructor]
+    private Number2StringSerializer(bool deserializing) { }
+    public Number2StringSerializer() { }
 
     private static readonly Dictionary<Type, IPrimitiveSerializer> numberSerializerMap;
Index: trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/NumberEnumerable2StringSerializer.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/NumberEnumerable2StringSerializer.cs	(revision 4722)
+++ trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/NumberEnumerable2StringSerializer.cs	(revision 4806)
@@ -33,4 +33,8 @@
   [StorableClass]
   internal sealed class NumberEnumerable2StringSerializer : ICompositeSerializer {
+
+    [StorableConstructor]
+    private NumberEnumerable2StringSerializer(bool deserializing) { }
+    public NumberEnumerable2StringSerializer() { }
 
     public int Priority {
Index: trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/StackSerializer.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/StackSerializer.cs	(revision 4722)
+++ trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/StackSerializer.cs	(revision 4806)
@@ -32,4 +32,8 @@
   [StorableClass]
   internal sealed class StackSerializer : ICompositeSerializer {
+
+    [StorableConstructor]
+    private StackSerializer(bool deserializing) { }
+    public StackSerializer() { }
 
     public int Priority {
Index: trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableSerializer.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableSerializer.cs	(revision 4722)
+++ trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableSerializer.cs	(revision 4806)
@@ -47,4 +47,6 @@
       hookCache = new Dictionary<HookDesignator, List<StorableReflection.Hook>>();
     }
+    [StorableConstructor]
+    private StorableSerializer(bool deserializing) : this() { }
 
     #region ICompositeSerializer implementation
@@ -129,5 +131,6 @@
       try {
         return GetConstructor(type)();
-      } catch (TargetInvocationException x) {
+      }
+      catch (TargetInvocationException x) {
         throw new PersistenceException(
           "Could not instantiate storable object: Encountered exception during constructor call",
Index: trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/StructSerializer.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/StructSerializer.cs	(revision 4722)
+++ trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/StructSerializer.cs	(revision 4806)
@@ -31,4 +31,8 @@
   [StorableClass]
   internal sealed class StructSerializer : ICompositeSerializer {
+
+    [StorableConstructor]
+    private StructSerializer(bool deserializing) { }
+    public StructSerializer() { }
 
     public int Priority {
Index: trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/TypeSerializer.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/TypeSerializer.cs	(revision 4722)
+++ trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/TypeSerializer.cs	(revision 4806)
@@ -31,4 +31,8 @@
   [StorableClass]
   internal sealed class TypeSerializer : ICompositeSerializer {
+
+    [StorableConstructor]
+    private TypeSerializer(bool deserializing) { }
+    public TypeSerializer() { }
 
     public int Priority {
Index: trunk/sources/HeuristicLab.Persistence/3.3/Default/DebugString/DebugString.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Default/DebugString/DebugString.cs	(revision 4722)
+++ trunk/sources/HeuristicLab.Persistence/3.3/Default/DebugString/DebugString.cs	(revision 4806)
@@ -38,4 +38,6 @@
     public string Data { get; set; }
 
+    [StorableConstructor]
+    protected DebugString(bool deserializing) { }
     private DebugString() { }
 
Index: trunk/sources/HeuristicLab.Persistence/3.3/Default/DebugString/DebugStringFormat.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Default/DebugString/DebugStringFormat.cs	(revision 4722)
+++ trunk/sources/HeuristicLab.Persistence/3.3/Default/DebugString/DebugStringFormat.cs	(revision 4806)
@@ -35,4 +35,8 @@
     /// <value>The format's name.</value>
     public override string Name { get { return "DebugString"; } }
+
+    [StorableConstructor]
+    protected DebugStringFormat(bool deserializing) : base(deserializing) { }
+    public DebugStringFormat() { }
   }
 
Index: trunk/sources/HeuristicLab.Persistence/3.3/Default/Xml/XmlFormat.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Default/Xml/XmlFormat.cs	(revision 4722)
+++ trunk/sources/HeuristicLab.Persistence/3.3/Default/Xml/XmlFormat.cs	(revision 4806)
@@ -36,4 +36,8 @@
     /// <value>The format's name.</value>
     public override string Name { get { return "XML"; } }
+
+    [StorableConstructor]
+    protected XmlFormat(bool deserializing) : base(deserializing) { }
+    public XmlFormat() { }
   }
 
Index: trunk/sources/HeuristicLab.Persistence/3.3/Default/Xml/XmlString.cs
===================================================================
--- trunk/sources/HeuristicLab.Persistence/3.3/Default/Xml/XmlString.cs	(revision 4722)
+++ trunk/sources/HeuristicLab.Persistence/3.3/Default/Xml/XmlString.cs	(revision 4806)
@@ -40,4 +40,6 @@
     public string Data { get; private set; }
 
+    [StorableConstructor]
+    protected XmlString(bool deserializing) { }
     private XmlString() { }
 
