Index: stable/HeuristicLab.Problems.Knapsack/3.3/Analyzers/BestKnapsackSolutionAnalyzer.cs
===================================================================
--- stable/HeuristicLab.Problems.Knapsack/3.3/Analyzers/BestKnapsackSolutionAnalyzer.cs	(revision 15587)
+++ stable/HeuristicLab.Problems.Knapsack/3.3/Analyzers/BestKnapsackSolutionAnalyzer.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -28,5 +28,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Problems.Knapsack {
@@ -35,5 +35,5 @@
   /// </summary>
   [Item("BestKnapsackSolutionAnalyzer", "An operator for analyzing the best solution for a Knapsack problem.")]
-  [StorableClass]
+  [StorableType("40BCB11E-F9C9-4749-A4FF-831BD8342D1A")]
   public class BestKnapsackSolutionAnalyzer : SingleSuccessorOperator, IAnalyzer, ISingleObjectiveOperator {
     public virtual bool EnabledByDefault {
@@ -73,5 +73,5 @@
 
     [StorableConstructor]
-    protected BestKnapsackSolutionAnalyzer(bool deserializing) : base(deserializing) { }
+    protected BestKnapsackSolutionAnalyzer(StorableConstructorFlag _) : base(_) { }
     protected BestKnapsackSolutionAnalyzer(BestKnapsackSolutionAnalyzer original, Cloner cloner) : base(original, cloner) { }
     public BestKnapsackSolutionAnalyzer()
Index: stable/HeuristicLab.Problems.Knapsack/3.3/Evaluators/KnapsackEvaluator.cs
===================================================================
--- stable/HeuristicLab.Problems.Knapsack/3.3/Evaluators/KnapsackEvaluator.cs	(revision 15587)
+++ stable/HeuristicLab.Problems.Knapsack/3.3/Evaluators/KnapsackEvaluator.cs	(revision 17097)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -27,5 +27,5 @@
 using HeuristicLab.Operators;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Problems.Knapsack {
@@ -34,5 +34,5 @@
   /// </summary>
   [Item("KnapsackEvaluator", "Evaluates solutions for the Knapsack problem.")]
-  [StorableClass]
+  [StorableType("905F6A31-FDC1-48EA-9229-DA23956F1929")]
   public class KnapsackEvaluator : InstrumentedOperator, IKnapsackEvaluator {
     public ILookupParameter<DoubleValue> QualityParameter {
@@ -70,5 +70,5 @@
 
     [StorableConstructor]
-    protected KnapsackEvaluator(bool deserializing) : base(deserializing) { }
+    protected KnapsackEvaluator(StorableConstructorFlag _) : base(_) { }
     protected KnapsackEvaluator(KnapsackEvaluator original, Cloner cloner) : base(original, cloner) { }
     public KnapsackEvaluator()
@@ -89,4 +89,5 @@
     }
 
+    [StorableType(StorableMemberSelection.AllFields, "0968A5F3-5E3A-4357-A042-06E4BDEAFA6C")]
     public struct KnapsackEvaluation {
       public DoubleValue Quality;
Index: stable/HeuristicLab.Problems.Knapsack/3.3/HeuristicLab.Problems.Knapsack-3.3.csproj
===================================================================
--- stable/HeuristicLab.Problems.Knapsack/3.3/HeuristicLab.Problems.Knapsack-3.3.csproj	(revision 15587)
+++ stable/HeuristicLab.Problems.Knapsack/3.3/HeuristicLab.Problems.Knapsack-3.3.csproj	(revision 17097)
@@ -11,5 +11,5 @@
     <RootNamespace>HeuristicLab.Problems.Knapsack</RootNamespace>
     <AssemblyName>HeuristicLab.Problems.Knapsack-3.3</AssemblyName>
-    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
     <TargetFrameworkProfile>
     </TargetFrameworkProfile>
@@ -99,4 +99,10 @@
   </PropertyGroup>
   <ItemGroup>
+    <Reference Include="Google.Protobuf, Version=3.6.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604, processorArchitecture=MSIL">
+      <HintPath>..\..\packages\Google.Protobuf.3.6.1\lib\net45\Google.Protobuf.dll</HintPath>
+    </Reference>
+    <Reference Include="HEAL.Attic, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
+      <HintPath>..\..\packages\HEAL.Attic.1.0.0-pre02\lib\net461\HEAL.Attic.dll</HintPath>
+    </Reference>
     <Reference Include="System" />
     <Reference Include="System.Core">
@@ -104,4 +110,7 @@
     </Reference>
     <Reference Include="System.Drawing" />
+    <Reference Include="System.Drawing.Common, Version=4.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
+      <HintPath>..\..\packages\System.Drawing.Common.4.5.1\lib\net461\System.Drawing.Common.dll</HintPath>
+    </Reference>
     <Reference Include="System.Xml.Linq">
       <RequiredTargetFramework>3.5</RequiredTargetFramework>
@@ -131,4 +140,5 @@
   <ItemGroup>
     <None Include="HeuristicLab.snk" />
+    <None Include="packages.config" />
     <None Include="Plugin.cs.frame" />
     <None Include="Properties\AssemblyInfo.cs.frame" />
Index: stable/HeuristicLab.Problems.Knapsack/3.3/Improvers/KnapsackImprovementOperator.cs
===================================================================
--- stable/HeuristicLab.Problems.Knapsack/3.3/Improvers/KnapsackImprovementOperator.cs	(revision 15587)
+++ stable/HeuristicLab.Problems.Knapsack/3.3/Improvers/KnapsackImprovementOperator.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -29,5 +29,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Problems.Knapsack {
@@ -40,5 +40,5 @@
   /// </remarks>
   [Item("KnapsackImprovementOperator", "An operator that improves knapsack solutions. It is implemented as described in Laguna, M. and Martí, R. (2003). Scatter Search: Methodology and Implementations in C. Operations Research/Computer Science Interfaces Series, Vol. 24. Springer.")]
-  [StorableClass]
+  [StorableType("DD57DC5B-8874-49C8-B28F-89962FC11EB2")]
   public sealed class KnapsackImprovementOperator : SingleSuccessorOperator, ISingleObjectiveImprovementOperator {
     #region Parameter properties
@@ -86,5 +86,5 @@
 
     [StorableConstructor]
-    private KnapsackImprovementOperator(bool deserializing) : base(deserializing) { }
+    private KnapsackImprovementOperator(StorableConstructorFlag _) : base(_) { }
     private KnapsackImprovementOperator(KnapsackImprovementOperator original, Cloner cloner) : base(original, cloner) { }
     public KnapsackImprovementOperator()
Index: stable/HeuristicLab.Problems.Knapsack/3.3/Interfaces/IKnapsackEvaluator.cs
===================================================================
--- stable/HeuristicLab.Problems.Knapsack/3.3/Interfaces/IKnapsackEvaluator.cs	(revision 15587)
+++ stable/HeuristicLab.Problems.Knapsack/3.3/Interfaces/IKnapsackEvaluator.cs	(revision 17097)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Optimization;
+using HEAL.Attic;
 
 namespace HeuristicLab.Problems.Knapsack {
+  [StorableType("B7D22238-9840-4293-A12E-6EEF7D7298FD")]
   /// <summary>
   /// An interface which represents an evaluation operator for Knapsack Problems.
Index: stable/HeuristicLab.Problems.Knapsack/3.3/Interfaces/IKnapsackMoveEvaluator.cs
===================================================================
--- stable/HeuristicLab.Problems.Knapsack/3.3/Interfaces/IKnapsackMoveEvaluator.cs	(revision 15587)
+++ stable/HeuristicLab.Problems.Knapsack/3.3/Interfaces/IKnapsackMoveEvaluator.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -23,6 +23,8 @@
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
+using HEAL.Attic;
 
 namespace HeuristicLab.Problems.Knapsack {
+  [StorableType("68FE6DEB-F190-446B-9877-7BE56FB08585")]
   public interface IKnapsackMoveEvaluator : ISingleObjectiveMoveEvaluator, IMoveOperator {
     ILookupParameter<IntValue> KnapsackCapacityParameter { get; }
Index: stable/HeuristicLab.Problems.Knapsack/3.3/KnapsackProblem.cs
===================================================================
--- stable/HeuristicLab.Problems.Knapsack/3.3/KnapsackProblem.cs	(revision 15587)
+++ stable/HeuristicLab.Problems.Knapsack/3.3/KnapsackProblem.cs	(revision 17097)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -31,5 +31,5 @@
 using HeuristicLab.Optimization.Operators;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 using HeuristicLab.PluginInfrastructure;
 
@@ -37,5 +37,5 @@
   [Item("Knapsack Problem (KSP)", "Represents a Knapsack problem.")]
   [Creatable(CreatableAttribute.Categories.CombinatorialProblems, Priority = 200)]
-  [StorableClass]
+  [StorableType("8CEDAFA2-6E0A-4D4B-B6C6-F85CC58B824E")]
   public sealed class KnapsackProblem : SingleObjectiveHeuristicOptimizationProblem<IKnapsackEvaluator, IBinaryVectorCreator>, IStorableContent {
     public string Filename { get; set; }
@@ -99,5 +99,5 @@
 
     [StorableConstructor]
-    private KnapsackProblem(bool deserializing) : base(deserializing) { }
+    private KnapsackProblem(StorableConstructorFlag _) : base(_) { }
     private KnapsackProblem(KnapsackProblem original, Cloner cloner)
       : base(original, cloner) {
Index: stable/HeuristicLab.Problems.Knapsack/3.3/KnapsackSolution.cs
===================================================================
--- stable/HeuristicLab.Problems.Knapsack/3.3/KnapsackSolution.cs	(revision 15587)
+++ stable/HeuristicLab.Problems.Knapsack/3.3/KnapsackSolution.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -26,5 +26,5 @@
 using HeuristicLab.Data;
 using HeuristicLab.Encodings.BinaryVectorEncoding;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Problems.Knapsack {
@@ -33,5 +33,5 @@
   /// </summary>
   [Item("KnapsackSolution", "Represents a Knapsack solution which can be visualized in the GUI.")]
-  [StorableClass]
+  [StorableType("C959079D-3D92-4C88-8734-9DADEE851169")]
   public class KnapsackSolution : Item {
     public static new Image StaticItemImage {
@@ -110,5 +110,5 @@
 
     [StorableConstructor]
-    protected KnapsackSolution(bool deserializing) : base(deserializing) { }
+    protected KnapsackSolution(StorableConstructorFlag _) : base(_) { }
     protected KnapsackSolution(KnapsackSolution original, Cloner cloner)
       : base(original, cloner) {
Index: stable/HeuristicLab.Problems.Knapsack/3.3/MoveEvaluators/KnapsackMoveEvaluator.cs
===================================================================
--- stable/HeuristicLab.Problems.Knapsack/3.3/MoveEvaluators/KnapsackMoveEvaluator.cs	(revision 15587)
+++ stable/HeuristicLab.Problems.Knapsack/3.3/MoveEvaluators/KnapsackMoveEvaluator.cs	(revision 17097)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -25,7 +25,6 @@
 using HeuristicLab.Encodings.BinaryVectorEncoding;
 using HeuristicLab.Operators;
-using HeuristicLab.Optimization;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Problems.Knapsack {
@@ -34,5 +33,5 @@
   /// </summary>
   [Item("KnapsackMoveEvaluator", "A base class for operators which evaluate Knapsack moves.")]
-  [StorableClass]
+  [StorableType("F953FC74-8688-48E5-856D-E9D8A2411CA0")]
   public abstract class KnapsackMoveEvaluator : SingleSuccessorOperator, IKnapsackMoveEvaluator, IBinaryVectorMoveOperator {
     public ILookupParameter<DoubleValue> QualityParameter {
@@ -59,5 +58,5 @@
 
     [StorableConstructor]
-    protected KnapsackMoveEvaluator(bool deserializing) : base(deserializing) { }
+    protected KnapsackMoveEvaluator(StorableConstructorFlag _) : base(_) { }
     protected KnapsackMoveEvaluator(KnapsackMoveEvaluator original, Cloner cloner) : base(original, cloner) { }
     protected KnapsackMoveEvaluator()
Index: stable/HeuristicLab.Problems.Knapsack/3.3/MoveEvaluators/KnapsackOneBitflipMoveEvaluator.cs
===================================================================
--- stable/HeuristicLab.Problems.Knapsack/3.3/MoveEvaluators/KnapsackOneBitflipMoveEvaluator.cs	(revision 15587)
+++ stable/HeuristicLab.Problems.Knapsack/3.3/MoveEvaluators/KnapsackOneBitflipMoveEvaluator.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -25,5 +25,5 @@
 using HeuristicLab.Encodings.BinaryVectorEncoding;
 using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Problems.Knapsack {
@@ -32,5 +32,5 @@
   /// </summary>
   [Item("KnapsackOneBitflipMoveEvaluator", "Base class for evaluating one bitflip moves.")]
-  [StorableClass]
+  [StorableType("E1BB4CCB-E9C3-4A16-8F03-3F619D4A4B0A")]
   public class KnapsackOneBitflipMoveEvaluator : KnapsackMoveEvaluator, IOneBitflipMoveOperator {
     public ILookupParameter<OneBitflipMove> OneBitflipMoveParameter {
@@ -39,5 +39,5 @@
 
     [StorableConstructor]
-    protected KnapsackOneBitflipMoveEvaluator(bool deserializing) : base(deserializing) { }
+    protected KnapsackOneBitflipMoveEvaluator(StorableConstructorFlag _) : base(_) { }
     protected KnapsackOneBitflipMoveEvaluator(KnapsackOneBitflipMoveEvaluator original, Cloner cloner) : base(original, cloner) { }
     public KnapsackOneBitflipMoveEvaluator()
Index: stable/HeuristicLab.Problems.Knapsack/3.3/PathRelinkers/KnapsackPathRelinker.cs
===================================================================
--- stable/HeuristicLab.Problems.Knapsack/3.3/PathRelinkers/KnapsackPathRelinker.cs	(revision 15587)
+++ stable/HeuristicLab.Problems.Knapsack/3.3/PathRelinkers/KnapsackPathRelinker.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -28,5 +28,5 @@
 using HeuristicLab.Encodings.BinaryVectorEncoding;
 using HeuristicLab.Optimization.Operators;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Problems.Knapsack {
@@ -38,8 +38,8 @@
   /// </remarks>
   [Item("KnapsackPathRelinker", "An operator that relinks paths between knapsack solutions. The operator incrementally assimilates the initiating solution into the guiding solution by adding and removing elements as needed.")]
-  [StorableClass]
+  [StorableType("3A528AB4-5552-4979-B443-2943A3496BC3")]
   public sealed class KnapsackPathRelinker : SingleObjectivePathRelinker {
     [StorableConstructor]
-    private KnapsackPathRelinker(bool deserializing) : base(deserializing) { }
+    private KnapsackPathRelinker(StorableConstructorFlag _) : base(_) { }
     private KnapsackPathRelinker(KnapsackPathRelinker original, Cloner cloner) : base(original, cloner) { }
     public KnapsackPathRelinker() : base() { }
Index: stable/HeuristicLab.Problems.Knapsack/3.3/PathRelinkers/KnapsackSimultaneousPathRelinker.cs
===================================================================
--- stable/HeuristicLab.Problems.Knapsack/3.3/PathRelinkers/KnapsackSimultaneousPathRelinker.cs	(revision 15587)
+++ stable/HeuristicLab.Problems.Knapsack/3.3/PathRelinkers/KnapsackSimultaneousPathRelinker.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -28,5 +28,5 @@
 using HeuristicLab.Encodings.BinaryVectorEncoding;
 using HeuristicLab.Optimization.Operators;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HEAL.Attic;
 
 namespace HeuristicLab.Problems.Knapsack {
@@ -38,8 +38,8 @@
   /// </remarks>
   [Item("KnapsackSimultaneousPathRelinker", "An operator that relinks paths between knapsack solutions starting from both ends. The operator incrementally assimilates the initiating solution into the guiding solution and vice versa by adding and removing elements as needed.")]
-  [StorableClass]
+  [StorableType("8D046D17-BA0F-4974-AF76-95B3F90FB7A4")]
   public sealed class KnapsackSimultaneousPathRelinker : SingleObjectivePathRelinker {
     [StorableConstructor]
-    private KnapsackSimultaneousPathRelinker(bool deserializing) : base(deserializing) { }
+    private KnapsackSimultaneousPathRelinker(StorableConstructorFlag _) : base(_) { }
     private KnapsackSimultaneousPathRelinker(KnapsackSimultaneousPathRelinker original, Cloner cloner) : base(original, cloner) { }
     public KnapsackSimultaneousPathRelinker() : base() { }
Index: stable/HeuristicLab.Problems.Knapsack/3.3/Plugin.cs.frame
===================================================================
--- stable/HeuristicLab.Problems.Knapsack/3.3/Plugin.cs.frame	(revision 15587)
+++ stable/HeuristicLab.Problems.Knapsack/3.3/Plugin.cs.frame	(revision 17097)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: stable/HeuristicLab.Problems.Knapsack/3.3/Properties/AssemblyInfo.cs.frame
===================================================================
--- stable/HeuristicLab.Problems.Knapsack/3.3/Properties/AssemblyInfo.cs.frame	(revision 15587)
+++ stable/HeuristicLab.Problems.Knapsack/3.3/Properties/AssemblyInfo.cs.frame	(revision 17097)
@@ -1,5 +1,5 @@
 #region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
Index: stable/HeuristicLab.Problems.Knapsack/3.3/SimilarityCalculators/KnapsackSimilarityCalculator.cs
===================================================================
--- stable/HeuristicLab.Problems.Knapsack/3.3/SimilarityCalculators/KnapsackSimilarityCalculator.cs	(revision 15587)
+++ stable/HeuristicLab.Problems.Knapsack/3.3/SimilarityCalculators/KnapsackSimilarityCalculator.cs	(revision 17097)
@@ -1,5 +1,5 @@
 ﻿#region License Information
 /* HeuristicLab
- * Copyright (C) 2002-2018 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
  *
  * This file is part of HeuristicLab.
@@ -21,4 +21,5 @@
 
 using System;
+using HEAL.Attic;
 using HeuristicLab.Common;
 using HeuristicLab.Core;
@@ -37,8 +38,10 @@
   [NonDiscoverableType]
   [Obsolete("Please use the HammingSimilarityCalculator in the HeuristicLab.Encodings.BinaryVector plugin.")]
+  [StorableType("27FD4466-6FDC-4420-A606-100FC0CDABF6")]
   internal sealed class KnapsackSimilarityCalculator : SingleObjectiveSolutionSimilarityCalculator {
     protected override bool IsCommutative { get { return true; } }
 
-    private KnapsackSimilarityCalculator(bool deserializing) : base(deserializing) { }
+    [StorableConstructor]
+    private KnapsackSimilarityCalculator(StorableConstructorFlag _) : base(_) { }
     private KnapsackSimilarityCalculator(KnapsackSimilarityCalculator original, Cloner cloner) : base(original, cloner) { }
     public KnapsackSimilarityCalculator() : base() { }
Index: stable/HeuristicLab.Problems.Knapsack/3.3/packages.config
===================================================================
--- stable/HeuristicLab.Problems.Knapsack/3.3/packages.config	(revision 17097)
+++ stable/HeuristicLab.Problems.Knapsack/3.3/packages.config	(revision 17097)
@@ -0,0 +1,6 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<packages>
+  <package id="Google.Protobuf" version="3.6.1" targetFramework="net461" />
+  <package id="HEAL.Attic" version="1.0.0-pre02" targetFramework="net461" />
+  <package id="System.Drawing.Common" version="4.5.1" targetFramework="net461" />
+</packages>
