Index: /trunk/sources/HeuristicLab.Data/3.3/ValueTypeArray.cs
===================================================================
--- /trunk/sources/HeuristicLab.Data/3.3/ValueTypeArray.cs	(revision 8586)
+++ /trunk/sources/HeuristicLab.Data/3.3/ValueTypeArray.cs	(revision 8587)
@@ -43,5 +43,7 @@
     public virtual int Length {
       get { return array.Length; }
-      protected set {
+      #region Mono Compatibility
+      // this setter should be protected, but the Mono compiler couldn't handle it
+      set {
         if (ReadOnly) throw new NotSupportedException("Length cannot be set. ValueTypeArray is read-only.");
         if (value != Length) {
@@ -50,4 +52,5 @@
         }
       }
+      #endregion
     }
     public virtual T this[int index] {
Index: /trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.WinFormsUI/2.3.1/HeuristicLab.WinFormsUI-2.3.1/Plugin.cs.frame
===================================================================
--- /trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.WinFormsUI/2.3.1/HeuristicLab.WinFormsUI-2.3.1/Plugin.cs.frame	(revision 8586)
+++ /trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.WinFormsUI/2.3.1/HeuristicLab.WinFormsUI-2.3.1/Plugin.cs.frame	(revision 8587)
@@ -10,5 +10,5 @@
   [PluginFile("HeuristicLab.WinFormsUI-2.3.1.dll", PluginFileType.Assembly)]
   [PluginFile("WeifenLuo.WinFormsUI.Docking-2.3.1.dll", PluginFileType.Assembly)]
-  [PluginFile("WeifenLuo.WinformsUI.Docking License.txt",PluginFileType.License)]
+  [PluginFile("WeifenLuo.WinFormsUI.Docking License.txt",PluginFileType.License)]
   public class HeuristicLabWinFormsUIPlugin : PluginBase {
   }
Index: /trunk/sources/HeuristicLab.MainForm.WindowsForms/3.3/Controls/ViewHost.cs
===================================================================
--- /trunk/sources/HeuristicLab.MainForm.WindowsForms/3.3/Controls/ViewHost.cs	(revision 8586)
+++ /trunk/sources/HeuristicLab.MainForm.WindowsForms/3.3/Controls/ViewHost.cs	(revision 8587)
@@ -197,5 +197,6 @@
       //mkommend: solution to resizing issues. taken from http://support.microsoft.com/kb/953934
       //not implemented with a panel to reduce the number of nested controls
-      if (Handle != null)
+      //also cf. http://connect.microsoft.com/VisualStudio/feedback/details/98368/csc-incorrectly-allows-comparison-between-intptr-and-null
+      if (Handle != IntPtr.Zero)
         this.BeginInvoke((Action<EventArgs>)OnSizeChangedHelper, e);
     }
Index: /trunk/sources/HeuristicLab.Optimization.Views/3.3/HeuristicLab.Optimization.Views-3.3.csproj
===================================================================
--- /trunk/sources/HeuristicLab.Optimization.Views/3.3/HeuristicLab.Optimization.Views-3.3.csproj	(revision 8586)
+++ /trunk/sources/HeuristicLab.Optimization.Views/3.3/HeuristicLab.Optimization.Views-3.3.csproj	(revision 8587)
@@ -99,7 +99,4 @@
   </PropertyGroup>
   <ItemGroup>
-    <Reference Include="HeuristicLab.Analysis-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
-      <Private>False</Private>
-    </Reference>
     <Reference Include="Microsoft.CSharp" />
     <Reference Include="System" />
@@ -152,5 +149,5 @@
       <SubType>UserControl</SubType>
     </Compile>
-    <Compile Include="ProblemView.designer.cs">
+    <Compile Include="ProblemView.Designer.cs">
       <DependentUpon>ProblemView.cs</DependentUpon>
     </Compile>
@@ -386,4 +383,9 @@
       <Private>False</Private>
     </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.Analysis\3.3\HeuristicLab.Analysis-3.3.csproj">
+      <Project>{887425B4-4348-49ED-A457-B7D2C26DDBF9}</Project>
+      <Name>HeuristicLab.Analysis-3.3</Name>
+      <Private>False</Private>
+    </ProjectReference>
   </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
Index: /trunk/sources/HeuristicLab.Optimizer/3.3/FileManager.cs
===================================================================
--- /trunk/sources/HeuristicLab.Optimizer/3.3/FileManager.cs	(revision 8586)
+++ /trunk/sources/HeuristicLab.Optimizer/3.3/FileManager.cs	(revision 8587)
@@ -143,10 +143,11 @@
     private static void SetEnabledStateOfContentViews(IStorableContent content, bool enabled) {
       HeuristicLab.MainForm.WindowsForms.MainForm mainForm = MainFormManager.GetMainForm<HeuristicLab.MainForm.WindowsForms.MainForm>();
-      if (mainForm.InvokeRequired)
-        mainForm.Invoke((Action<IStorableContent, bool>)SetEnabledStateOfContentViews, content, enabled);
-      else {
+      #region Mono Compatibility
+      // removed the InvokeRequired check because of Mono
+      mainForm.Invoke((Action)delegate {
         var views = MainFormManager.MainForm.Views.OfType<IContentView>().Where(v => v.Content == content).ToList();
         views.ForEach(v => v.Enabled = enabled);
-      }
+      });
+      #endregion
     }
   }
Index: /trunk/sources/HeuristicLab.PluginInfrastructure/3.3/HeuristicLab.PluginInfrastructure-3.3.csproj
===================================================================
--- /trunk/sources/HeuristicLab.PluginInfrastructure/3.3/HeuristicLab.PluginInfrastructure-3.3.csproj	(revision 8586)
+++ /trunk/sources/HeuristicLab.PluginInfrastructure/3.3/HeuristicLab.PluginInfrastructure-3.3.csproj	(revision 8587)
@@ -102,25 +102,17 @@
   </PropertyGroup>
   <ItemGroup>
-    <Reference Include="ICSharpCode.SharpZipLib, Version=0.85.4.369, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL">
-      <Private>False</Private>
-    </Reference>
     <Reference Include="System" />
-    <Reference Include="System.Core">
-      <RequiredTargetFramework>3.5</RequiredTargetFramework>
-    </Reference>
+    <Reference Include="System.Core" />
     <Reference Include="System.Data" />
     <Reference Include="System.Deployment" />
     <Reference Include="System.Drawing" />
-    <Reference Include="System.IdentityModel">
-      <RequiredTargetFramework>3.0</RequiredTargetFramework>
-    </Reference>
-    <Reference Include="System.Runtime.Serialization">
-      <RequiredTargetFramework>3.0</RequiredTargetFramework>
-    </Reference>
-    <Reference Include="System.ServiceModel">
-      <RequiredTargetFramework>3.0</RequiredTargetFramework>
-    </Reference>
+    <Reference Include="System.IdentityModel" />
+    <Reference Include="System.Runtime.Serialization" />
+    <Reference Include="System.ServiceModel" />
     <Reference Include="System.Windows.Forms" />
     <Reference Include="System.Xml" />
+    <Reference Include="ICSharpCode.SharpZipLib">
+      <HintPath>ICSharpCode.SharpZipLib.dll</HintPath>
+    </Reference>
   </ItemGroup>
   <ItemGroup>
Index: /trunk/sources/HeuristicLab.PluginInfrastructure/3.3/Resources.resx
===================================================================
--- /trunk/sources/HeuristicLab.PluginInfrastructure/3.3/Resources.resx	(revision 8586)
+++ /trunk/sources/HeuristicLab.PluginInfrastructure/3.3/Resources.resx	(revision 8587)
@@ -123,8 +123,8 @@
   </data>
   <data name="ArrowUp" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>Resources\vs2008imagelibrary_commonelements_objects_arrow_up.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+    <value>Resources\VS2008ImageLibrary_CommonElements_Objects_Arrow_Up.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
   <data name="Assembly" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>Resources\vs2008imagelibrary_objects_assembly.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+    <value>Resources\VS2008ImageLibrary_Objects_Assembly.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
   <data name="Document" type="System.Resources.ResXFileRef, System.Windows.Forms">
@@ -150,5 +150,5 @@
   </data>
   <data name="Install" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>Resources\vs2008imagelibrary_objects_install.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+    <value>Resources\VS2008ImageLibrary_Objects_Install.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
   <data name="Internet" type="System.Resources.ResXFileRef, System.Windows.Forms">
@@ -195,5 +195,5 @@
   </data>
   <data name="UpdateAvailable" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>resources\updateavailable.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+    <value>Resources\UpdateAvailable.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
 </root>
Index: /trunk/sources/HeuristicLab.Problems.LawnMower/3.3/HeuristicLab.Problems.LawnMower.csproj
===================================================================
--- /trunk/sources/HeuristicLab.Problems.LawnMower/3.3/HeuristicLab.Problems.LawnMower.csproj	(revision 8586)
+++ /trunk/sources/HeuristicLab.Problems.LawnMower/3.3/HeuristicLab.Problems.LawnMower.csproj	(revision 8587)
@@ -103,8 +103,4 @@
   </PropertyGroup>
   <ItemGroup>
-    <Reference Include="HeuristicLab.Common-3.3">
-      <HintPath>..\..\HeuristicLab.Common\3.3\obj\x86\Debug\HeuristicLab.Common-3.3.dll</HintPath>
-      <Private>False</Private>
-    </Reference>
     <Reference Include="System" />
     <Reference Include="System.Core" />
@@ -176,4 +172,9 @@
       <Private>False</Private>
     </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.Common\3.3\HeuristicLab.Common-3.3.csproj">
+      <Project>{A9AD58B9-3EF9-4CC1-97E5-8D909039FF5C}</Project>
+      <Name>HeuristicLab.Common-3.3</Name>
+      <Private>False</Private>
+    </ProjectReference>
   </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
Index: /trunk/sources/HeuristicLab.Problems.OneMax.Views/3.3/OneMaxSolutionView.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Problems.OneMax.Views/3.3/OneMaxSolutionView.Designer.cs	(revision 8587)
+++ /trunk/sources/HeuristicLab.Problems.OneMax.Views/3.3/OneMaxSolutionView.Designer.cs	(revision 8587)
@@ -0,0 +1,161 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+namespace HeuristicLab.Problems.OneMax.Views {
+  partial class OneMaxSolutionView {
+    /// <summary>
+    /// Required designer variable.
+    /// </summary>
+    private System.ComponentModel.IContainer components = null;
+
+    /// <summary>
+    /// Clean up any resources being used.
+    /// </summary>
+    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+    protected override void Dispose(bool disposing) {
+      if (disposing && (components != null)) {
+        components.Dispose();
+      }
+      base.Dispose(disposing);
+    }
+
+    #region Windows Form Designer generated code
+
+    /// <summary>
+    /// Required method for Designer support - do not modify
+    /// the contents of this method with the code editor.
+    /// </summary>
+    private void InitializeComponent() {
+      this.qualityView = new HeuristicLab.MainForm.WindowsForms.ViewHost();
+      this.splitContainer1 = new System.Windows.Forms.SplitContainer();
+      this.groupBox3 = new System.Windows.Forms.GroupBox();
+      this.binaryVectorView = new HeuristicLab.MainForm.WindowsForms.ViewHost();
+      this.groupBox4 = new System.Windows.Forms.GroupBox();
+      this.splitContainer1.Panel1.SuspendLayout();
+      this.splitContainer1.Panel2.SuspendLayout();
+      this.splitContainer1.SuspendLayout();
+      this.groupBox3.SuspendLayout();
+      this.groupBox4.SuspendLayout();
+      this.SuspendLayout();
+      // 
+      // qualityView
+      // 
+      this.qualityView.Content = null;
+      this.qualityView.Dock = System.Windows.Forms.DockStyle.Fill;
+      this.qualityView.Location = new System.Drawing.Point(3, 16);
+      this.qualityView.Name = "qualityView";
+      this.qualityView.ReadOnly = false;
+      this.qualityView.Size = new System.Drawing.Size(188, 30);
+      this.qualityView.TabIndex = 1;
+      this.qualityView.ViewType = null;
+      // 
+      // splitContainer1
+      // 
+      this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
+      this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
+      this.splitContainer1.IsSplitterFixed = true;
+      this.splitContainer1.Location = new System.Drawing.Point(0, 0);
+      this.splitContainer1.Name = "splitContainer1";
+      this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
+      // 
+      // splitContainer1.Panel1
+      // 
+      this.splitContainer1.Panel1.Controls.Add(this.groupBox3);
+      this.splitContainer1.Panel1MinSize = 30;
+      // 
+      // splitContainer1.Panel2
+      // 
+      this.splitContainer1.Panel2.Controls.Add(this.groupBox4);
+      this.splitContainer1.Panel2MinSize = 30;
+      this.splitContainer1.Size = new System.Drawing.Size(392, 265);
+      this.splitContainer1.TabIndex = 7;
+      // 
+      // groupBox3
+      // 
+      this.groupBox3.Controls.Add(this.qualityView);
+      this.groupBox3.Dock = System.Windows.Forms.DockStyle.Fill;
+      this.groupBox3.Location = new System.Drawing.Point(0, 0);
+      this.groupBox3.Name = "groupBox3";
+      this.groupBox3.Size = new System.Drawing.Size(392, 50);
+      this.groupBox3.TabIndex = 6;
+      this.groupBox3.TabStop = false;
+      this.groupBox3.Text = "Quality";
+      // 
+      // qualityView
+      // 
+      this.qualityView.Content = null;
+      this.qualityView.Dock = System.Windows.Forms.DockStyle.Fill;
+      this.qualityView.Location = new System.Drawing.Point(3, 16);
+      this.qualityView.Name = "qualityView";
+      this.qualityView.ReadOnly = false;
+      this.qualityView.Size = new System.Drawing.Size(386, 31);
+      this.qualityView.TabIndex = 1;
+      this.qualityView.ViewType = null;
+      // 
+      // groupBox4
+      // 
+      this.groupBox4.Controls.Add(this.binaryVectorView);
+      this.groupBox4.Dock = System.Windows.Forms.DockStyle.Fill;
+      this.groupBox4.Location = new System.Drawing.Point(0, 0);
+      this.groupBox4.Name = "groupBox4";
+      this.groupBox4.Size = new System.Drawing.Size(392, 211);
+      this.groupBox4.TabIndex = 6;
+      this.groupBox4.TabStop = false;
+      this.groupBox4.Text = "Binary vector";
+      // 
+      // binaryVectorView
+      // 
+      this.binaryVectorView.Content = null;
+      this.binaryVectorView.Dock = System.Windows.Forms.DockStyle.Fill;
+      this.binaryVectorView.Location = new System.Drawing.Point(3, 16);
+      this.binaryVectorView.Name = "binaryVectorView";
+      this.binaryVectorView.ReadOnly = false;
+      this.binaryVectorView.Size = new System.Drawing.Size(386, 192);
+      this.binaryVectorView.TabIndex = 1;
+      this.binaryVectorView.ViewType = null;
+      // 
+      // OneMaxSolutionView
+      // 
+      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+      this.Controls.Add(this.splitContainer1);
+      this.Name = "OneMaxSolutionView";
+      this.Size = new System.Drawing.Size(392, 265);
+      this.splitContainer1.Panel1.ResumeLayout(false);
+      this.splitContainer1.Panel2.ResumeLayout(false);
+      this.splitContainer1.ResumeLayout(false);
+      this.groupBox3.ResumeLayout(false);
+      this.groupBox4.ResumeLayout(false);
+      this.ResumeLayout(false);
+
+    }
+
+    #endregion
+
+    private System.Windows.Forms.SplitContainer splitContainer1;
+    private System.Windows.Forms.GroupBox groupBox4;
+    protected HeuristicLab.MainForm.WindowsForms.ViewHost qualityView;
+    private System.Windows.Forms.GroupBox groupBox3;
+    protected HeuristicLab.MainForm.WindowsForms.ViewHost binaryVectorView;
+
+
+
+  }
+}
Index: unk/sources/HeuristicLab.Problems.OneMax.Views/3.3/OnemaxSolutionView.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Problems.OneMax.Views/3.3/OnemaxSolutionView.Designer.cs	(revision 8586)
+++ 	(revision )
@@ -1,161 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-namespace HeuristicLab.Problems.OneMax.Views {
-  partial class OneMaxSolutionView {
-    /// <summary>
-    /// Required designer variable.
-    /// </summary>
-    private System.ComponentModel.IContainer components = null;
-
-    /// <summary>
-    /// Clean up any resources being used.
-    /// </summary>
-    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
-    protected override void Dispose(bool disposing) {
-      if (disposing && (components != null)) {
-        components.Dispose();
-      }
-      base.Dispose(disposing);
-    }
-
-    #region Windows Form Designer generated code
-
-    /// <summary>
-    /// Required method for Designer support - do not modify
-    /// the contents of this method with the code editor.
-    /// </summary>
-    private void InitializeComponent() {
-      this.qualityView = new HeuristicLab.MainForm.WindowsForms.ViewHost();
-      this.splitContainer1 = new System.Windows.Forms.SplitContainer();
-      this.groupBox3 = new System.Windows.Forms.GroupBox();
-      this.binaryVectorView = new HeuristicLab.MainForm.WindowsForms.ViewHost();
-      this.groupBox4 = new System.Windows.Forms.GroupBox();
-      this.splitContainer1.Panel1.SuspendLayout();
-      this.splitContainer1.Panel2.SuspendLayout();
-      this.splitContainer1.SuspendLayout();
-      this.groupBox3.SuspendLayout();
-      this.groupBox4.SuspendLayout();
-      this.SuspendLayout();
-      // 
-      // qualityView
-      // 
-      this.qualityView.Content = null;
-      this.qualityView.Dock = System.Windows.Forms.DockStyle.Fill;
-      this.qualityView.Location = new System.Drawing.Point(3, 16);
-      this.qualityView.Name = "qualityView";
-      this.qualityView.ReadOnly = false;
-      this.qualityView.Size = new System.Drawing.Size(188, 30);
-      this.qualityView.TabIndex = 1;
-      this.qualityView.ViewType = null;
-      // 
-      // splitContainer1
-      // 
-      this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
-      this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
-      this.splitContainer1.IsSplitterFixed = true;
-      this.splitContainer1.Location = new System.Drawing.Point(0, 0);
-      this.splitContainer1.Name = "splitContainer1";
-      this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
-      // 
-      // splitContainer1.Panel1
-      // 
-      this.splitContainer1.Panel1.Controls.Add(this.groupBox3);
-      this.splitContainer1.Panel1MinSize = 30;
-      // 
-      // splitContainer1.Panel2
-      // 
-      this.splitContainer1.Panel2.Controls.Add(this.groupBox4);
-      this.splitContainer1.Panel2MinSize = 30;
-      this.splitContainer1.Size = new System.Drawing.Size(392, 265);
-      this.splitContainer1.TabIndex = 7;
-      // 
-      // groupBox3
-      // 
-      this.groupBox3.Controls.Add(this.qualityView);
-      this.groupBox3.Dock = System.Windows.Forms.DockStyle.Fill;
-      this.groupBox3.Location = new System.Drawing.Point(0, 0);
-      this.groupBox3.Name = "groupBox3";
-      this.groupBox3.Size = new System.Drawing.Size(392, 50);
-      this.groupBox3.TabIndex = 6;
-      this.groupBox3.TabStop = false;
-      this.groupBox3.Text = "Quality";
-      // 
-      // qualityView
-      // 
-      this.qualityView.Content = null;
-      this.qualityView.Dock = System.Windows.Forms.DockStyle.Fill;
-      this.qualityView.Location = new System.Drawing.Point(3, 16);
-      this.qualityView.Name = "qualityView";
-      this.qualityView.ReadOnly = false;
-      this.qualityView.Size = new System.Drawing.Size(386, 31);
-      this.qualityView.TabIndex = 1;
-      this.qualityView.ViewType = null;
-      // 
-      // groupBox4
-      // 
-      this.groupBox4.Controls.Add(this.binaryVectorView);
-      this.groupBox4.Dock = System.Windows.Forms.DockStyle.Fill;
-      this.groupBox4.Location = new System.Drawing.Point(0, 0);
-      this.groupBox4.Name = "groupBox4";
-      this.groupBox4.Size = new System.Drawing.Size(392, 211);
-      this.groupBox4.TabIndex = 6;
-      this.groupBox4.TabStop = false;
-      this.groupBox4.Text = "Binary vector";
-      // 
-      // binaryVectorView
-      // 
-      this.binaryVectorView.Content = null;
-      this.binaryVectorView.Dock = System.Windows.Forms.DockStyle.Fill;
-      this.binaryVectorView.Location = new System.Drawing.Point(3, 16);
-      this.binaryVectorView.Name = "binaryVectorView";
-      this.binaryVectorView.ReadOnly = false;
-      this.binaryVectorView.Size = new System.Drawing.Size(386, 192);
-      this.binaryVectorView.TabIndex = 1;
-      this.binaryVectorView.ViewType = null;
-      // 
-      // OneMaxSolutionView
-      // 
-      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
-      this.Controls.Add(this.splitContainer1);
-      this.Name = "OneMaxSolutionView";
-      this.Size = new System.Drawing.Size(392, 265);
-      this.splitContainer1.Panel1.ResumeLayout(false);
-      this.splitContainer1.Panel2.ResumeLayout(false);
-      this.splitContainer1.ResumeLayout(false);
-      this.groupBox3.ResumeLayout(false);
-      this.groupBox4.ResumeLayout(false);
-      this.ResumeLayout(false);
-
-    }
-
-    #endregion
-
-    private System.Windows.Forms.SplitContainer splitContainer1;
-    private System.Windows.Forms.GroupBox groupBox4;
-    protected HeuristicLab.MainForm.WindowsForms.ViewHost qualityView;
-    private System.Windows.Forms.GroupBox groupBox3;
-    protected HeuristicLab.MainForm.WindowsForms.ViewHost binaryVectorView;
-
-
-
-  }
-}
Index: /trunk/sources/HeuristicLab.Problems.OneMax/3.3/OneMaxProblem.cs
===================================================================
--- /trunk/sources/HeuristicLab.Problems.OneMax/3.3/OneMaxProblem.cs	(revision 8587)
+++ /trunk/sources/HeuristicLab.Problems.OneMax/3.3/OneMaxProblem.cs	(revision 8587)
@@ -0,0 +1,199 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using HeuristicLab.Common;
+using HeuristicLab.Core;
+using HeuristicLab.Data;
+using HeuristicLab.Encodings.BinaryVectorEncoding;
+using HeuristicLab.Optimization;
+using HeuristicLab.Parameters;
+using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HeuristicLab.PluginInfrastructure;
+
+namespace HeuristicLab.Problems.OneMax {
+  [Item("OneMax Problem", "Represents a OneMax Problem.")]
+  [Creatable("Problems")]
+  [StorableClass]
+  public sealed class OneMaxProblem : SingleObjectiveHeuristicOptimizationProblem<IOneMaxEvaluator, IBinaryVectorCreator>, IStorableContent {
+    public string Filename { get; set; }
+
+    #region Parameter Properties
+    public ValueParameter<IntValue> LengthParameter {
+      get { return (ValueParameter<IntValue>)Parameters["Length"]; }
+    }
+    #endregion
+
+    #region Properties
+    public IntValue Length {
+      get { return LengthParameter.Value; }
+      set { LengthParameter.Value = value; }
+    }
+    private BestOneMaxSolutionAnalyzer BestOneMaxSolutionAnalyzer {
+      get { return Operators.OfType<BestOneMaxSolutionAnalyzer>().FirstOrDefault(); }
+    }
+    #endregion
+
+    // BackwardsCompatibility3.3
+    #region Backwards compatible code, remove with 3.4
+    [Obsolete]
+    [Storable(Name = "operators")]
+    private IEnumerable<IOperator> oldOperators {
+      get { return null; }
+      set {
+        if (value != null && value.Any())
+          Operators.AddRange(value);
+      }
+    }
+    #endregion
+
+    [StorableConstructor]
+    private OneMaxProblem(bool deserializing) : base(deserializing) { }
+    private OneMaxProblem(OneMaxProblem original, Cloner cloner)
+      : base(original, cloner) {
+      RegisterEventHandlers();
+    }
+    public OneMaxProblem()
+      : base(new OneMaxEvaluator(), new RandomBinaryVectorCreator()) {
+      Parameters.Add(new ValueParameter<IntValue>("Length", "The length of the BinaryVector.", new IntValue(5)));
+
+      Maximization.Value = true;
+      MaximizationParameter.Hidden = true;
+      BestKnownQuality = new DoubleValue(5);
+
+      SolutionCreator.BinaryVectorParameter.ActualName = "OneMaxSolution";
+      Evaluator.QualityParameter.ActualName = "NumberOfOnes";
+      ParameterizeSolutionCreator();
+      ParameterizeEvaluator();
+
+      InitializeOperators();
+      RegisterEventHandlers();
+    }
+
+    public override IDeepCloneable Clone(Cloner cloner) {
+      return new OneMaxProblem(this, cloner);
+    }
+
+    #region Events
+    protected override void OnSolutionCreatorChanged() {
+      base.OnSolutionCreatorChanged();
+      SolutionCreator.BinaryVectorParameter.ActualNameChanged += new EventHandler(SolutionCreator_BinaryVectorParameter_ActualNameChanged);
+      ParameterizeSolutionCreator();
+      ParameterizeEvaluator();
+      ParameterizeAnalyzer();
+      ParameterizeOperators();
+    }
+    protected override void OnEvaluatorChanged() {
+      base.OnEvaluatorChanged();
+      ParameterizeEvaluator();
+      ParameterizeAnalyzer();
+    }
+    private void SolutionCreator_BinaryVectorParameter_ActualNameChanged(object sender, EventArgs e) {
+      ParameterizeEvaluator();
+      ParameterizeAnalyzer();
+      ParameterizeOperators();
+    }
+    private void LengthParameter_ValueChanged(object sender, EventArgs e) {
+      ParameterizeSolutionCreator();
+      LengthParameter.Value.ValueChanged += new EventHandler(Length_ValueChanged);
+      BestKnownQualityParameter.Value.Value = Length.Value;
+    }
+    private void Length_ValueChanged(object sender, EventArgs e) {
+      BestKnownQualityParameter.Value.Value = Length.Value;
+    }
+    private void BestKnownQualityParameter_ValueChanged(object sender, EventArgs e) {
+      BestKnownQualityParameter.Value.Value = Length.Value;
+    }
+    private void OneBitflipMoveParameter_ActualNameChanged(object sender, EventArgs e) {
+      string name = ((ILookupParameter<OneBitflipMove>)sender).ActualName;
+      foreach (IOneBitflipMoveOperator op in Operators.OfType<IOneBitflipMoveOperator>()) {
+        op.OneBitflipMoveParameter.ActualName = name;
+      }
+    }
+    #endregion
+
+    #region Helpers
+    [StorableHook(HookType.AfterDeserialization)]
+    private void AfterDeserialization() {
+      // BackwardsCompatibility3.3
+      #region Backwards compatible code (remove with 3.4)
+      if (Operators.Count == 0) InitializeOperators();
+      #endregion
+      RegisterEventHandlers();
+    }
+
+    private void RegisterEventHandlers() {
+      SolutionCreator.BinaryVectorParameter.ActualNameChanged += new EventHandler(SolutionCreator_BinaryVectorParameter_ActualNameChanged);
+      LengthParameter.ValueChanged += new EventHandler(LengthParameter_ValueChanged);
+      LengthParameter.Value.ValueChanged += new EventHandler(Length_ValueChanged);
+      BestKnownQualityParameter.ValueChanged += new EventHandler(BestKnownQualityParameter_ValueChanged);
+    }
+
+    private void ParameterizeSolutionCreator() {
+      SolutionCreator.LengthParameter.ActualName = LengthParameter.Name;
+    }
+    private void ParameterizeEvaluator() {
+      if (Evaluator is OneMaxEvaluator)
+        ((OneMaxEvaluator)Evaluator).BinaryVectorParameter.ActualName = SolutionCreator.BinaryVectorParameter.ActualName;
+    }
+    private void ParameterizeAnalyzer() {
+      BestOneMaxSolutionAnalyzer.MaximizationParameter.ActualName = MaximizationParameter.Name;
+      BestOneMaxSolutionAnalyzer.BestKnownQualityParameter.ActualName = BestKnownQualityParameter.Name;
+      BestOneMaxSolutionAnalyzer.BinaryVectorParameter.ActualName = SolutionCreator.BinaryVectorParameter.ActualName;
+      BestOneMaxSolutionAnalyzer.ResultsParameter.ActualName = "Results";
+    }
+    private void InitializeOperators() {
+      Operators.Add(new BestOneMaxSolutionAnalyzer());
+      ParameterizeAnalyzer();
+      foreach (IBinaryVectorOperator op in ApplicationManager.Manager.GetInstances<IBinaryVectorOperator>()) {
+        if (!(op is ISingleObjectiveMoveEvaluator) || (op is IOneMaxMoveEvaluator)) {
+          Operators.Add(op);
+        }
+      }
+      ParameterizeOperators();
+      InitializeMoveGenerators();
+    }
+    private void InitializeMoveGenerators() {
+      foreach (IOneBitflipMoveOperator op in Operators.OfType<IOneBitflipMoveOperator>()) {
+        if (op is IMoveGenerator) {
+          op.OneBitflipMoveParameter.ActualNameChanged += new EventHandler(OneBitflipMoveParameter_ActualNameChanged);
+        }
+      }
+    }
+    private void ParameterizeOperators() {
+      foreach (IBinaryVectorCrossover op in Operators.OfType<IBinaryVectorCrossover>()) {
+        op.ParentsParameter.ActualName = SolutionCreator.BinaryVectorParameter.ActualName;
+        op.ChildParameter.ActualName = SolutionCreator.BinaryVectorParameter.ActualName;
+      }
+      foreach (IBinaryVectorManipulator op in Operators.OfType<IBinaryVectorManipulator>()) {
+        op.BinaryVectorParameter.ActualName = SolutionCreator.BinaryVectorParameter.ActualName;
+      }
+      foreach (IBinaryVectorMoveOperator op in Operators.OfType<IBinaryVectorMoveOperator>()) {
+        op.BinaryVectorParameter.ActualName = SolutionCreator.BinaryVectorParameter.ActualName;
+      }
+      foreach (var op in Operators.OfType<IBinaryVectorMultiNeighborhoodShakingOperator>())
+        op.BinaryVectorParameter.ActualName = SolutionCreator.BinaryVectorParameter.ActualName;
+    }
+    #endregion
+  }
+}
Index: unk/sources/HeuristicLab.Problems.OneMax/3.3/OnemaxProblem.cs
===================================================================
--- /trunk/sources/HeuristicLab.Problems.OneMax/3.3/OnemaxProblem.cs	(revision 8586)
+++ 	(revision )
@@ -1,199 +1,0 @@
-#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using HeuristicLab.Common;
-using HeuristicLab.Core;
-using HeuristicLab.Data;
-using HeuristicLab.Encodings.BinaryVectorEncoding;
-using HeuristicLab.Optimization;
-using HeuristicLab.Parameters;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
-using HeuristicLab.PluginInfrastructure;
-
-namespace HeuristicLab.Problems.OneMax {
-  [Item("OneMax Problem", "Represents a OneMax Problem.")]
-  [Creatable("Problems")]
-  [StorableClass]
-  public sealed class OneMaxProblem : SingleObjectiveHeuristicOptimizationProblem<IOneMaxEvaluator, IBinaryVectorCreator>, IStorableContent {
-    public string Filename { get; set; }
-
-    #region Parameter Properties
-    public ValueParameter<IntValue> LengthParameter {
-      get { return (ValueParameter<IntValue>)Parameters["Length"]; }
-    }
-    #endregion
-
-    #region Properties
-    public IntValue Length {
-      get { return LengthParameter.Value; }
-      set { LengthParameter.Value = value; }
-    }
-    private BestOneMaxSolutionAnalyzer BestOneMaxSolutionAnalyzer {
-      get { return Operators.OfType<BestOneMaxSolutionAnalyzer>().FirstOrDefault(); }
-    }
-    #endregion
-
-    // BackwardsCompatibility3.3
-    #region Backwards compatible code, remove with 3.4
-    [Obsolete]
-    [Storable(Name = "operators")]
-    private IEnumerable<IOperator> oldOperators {
-      get { return null; }
-      set {
-        if (value != null && value.Any())
-          Operators.AddRange(value);
-      }
-    }
-    #endregion
-
-    [StorableConstructor]
-    private OneMaxProblem(bool deserializing) : base(deserializing) { }
-    private OneMaxProblem(OneMaxProblem original, Cloner cloner)
-      : base(original, cloner) {
-      RegisterEventHandlers();
-    }
-    public OneMaxProblem()
-      : base(new OneMaxEvaluator(), new RandomBinaryVectorCreator()) {
-      Parameters.Add(new ValueParameter<IntValue>("Length", "The length of the BinaryVector.", new IntValue(5)));
-
-      Maximization.Value = true;
-      MaximizationParameter.Hidden = true;
-      BestKnownQuality = new DoubleValue(5);
-
-      SolutionCreator.BinaryVectorParameter.ActualName = "OneMaxSolution";
-      Evaluator.QualityParameter.ActualName = "NumberOfOnes";
-      ParameterizeSolutionCreator();
-      ParameterizeEvaluator();
-
-      InitializeOperators();
-      RegisterEventHandlers();
-    }
-
-    public override IDeepCloneable Clone(Cloner cloner) {
-      return new OneMaxProblem(this, cloner);
-    }
-
-    #region Events
-    protected override void OnSolutionCreatorChanged() {
-      base.OnSolutionCreatorChanged();
-      SolutionCreator.BinaryVectorParameter.ActualNameChanged += new EventHandler(SolutionCreator_BinaryVectorParameter_ActualNameChanged);
-      ParameterizeSolutionCreator();
-      ParameterizeEvaluator();
-      ParameterizeAnalyzer();
-      ParameterizeOperators();
-    }
-    protected override void OnEvaluatorChanged() {
-      base.OnEvaluatorChanged();
-      ParameterizeEvaluator();
-      ParameterizeAnalyzer();
-    }
-    private void SolutionCreator_BinaryVectorParameter_ActualNameChanged(object sender, EventArgs e) {
-      ParameterizeEvaluator();
-      ParameterizeAnalyzer();
-      ParameterizeOperators();
-    }
-    private void LengthParameter_ValueChanged(object sender, EventArgs e) {
-      ParameterizeSolutionCreator();
-      LengthParameter.Value.ValueChanged += new EventHandler(Length_ValueChanged);
-      BestKnownQualityParameter.Value.Value = Length.Value;
-    }
-    private void Length_ValueChanged(object sender, EventArgs e) {
-      BestKnownQualityParameter.Value.Value = Length.Value;
-    }
-    private void BestKnownQualityParameter_ValueChanged(object sender, EventArgs e) {
-      BestKnownQualityParameter.Value.Value = Length.Value;
-    }
-    private void OneBitflipMoveParameter_ActualNameChanged(object sender, EventArgs e) {
-      string name = ((ILookupParameter<OneBitflipMove>)sender).ActualName;
-      foreach (IOneBitflipMoveOperator op in Operators.OfType<IOneBitflipMoveOperator>()) {
-        op.OneBitflipMoveParameter.ActualName = name;
-      }
-    }
-    #endregion
-
-    #region Helpers
-    [StorableHook(HookType.AfterDeserialization)]
-    private void AfterDeserialization() {
-      // BackwardsCompatibility3.3
-      #region Backwards compatible code (remove with 3.4)
-      if (Operators.Count == 0) InitializeOperators();
-      #endregion
-      RegisterEventHandlers();
-    }
-
-    private void RegisterEventHandlers() {
-      SolutionCreator.BinaryVectorParameter.ActualNameChanged += new EventHandler(SolutionCreator_BinaryVectorParameter_ActualNameChanged);
-      LengthParameter.ValueChanged += new EventHandler(LengthParameter_ValueChanged);
-      LengthParameter.Value.ValueChanged += new EventHandler(Length_ValueChanged);
-      BestKnownQualityParameter.ValueChanged += new EventHandler(BestKnownQualityParameter_ValueChanged);
-    }
-
-    private void ParameterizeSolutionCreator() {
-      SolutionCreator.LengthParameter.ActualName = LengthParameter.Name;
-    }
-    private void ParameterizeEvaluator() {
-      if (Evaluator is OneMaxEvaluator)
-        ((OneMaxEvaluator)Evaluator).BinaryVectorParameter.ActualName = SolutionCreator.BinaryVectorParameter.ActualName;
-    }
-    private void ParameterizeAnalyzer() {
-      BestOneMaxSolutionAnalyzer.MaximizationParameter.ActualName = MaximizationParameter.Name;
-      BestOneMaxSolutionAnalyzer.BestKnownQualityParameter.ActualName = BestKnownQualityParameter.Name;
-      BestOneMaxSolutionAnalyzer.BinaryVectorParameter.ActualName = SolutionCreator.BinaryVectorParameter.ActualName;
-      BestOneMaxSolutionAnalyzer.ResultsParameter.ActualName = "Results";
-    }
-    private void InitializeOperators() {
-      Operators.Add(new BestOneMaxSolutionAnalyzer());
-      ParameterizeAnalyzer();
-      foreach (IBinaryVectorOperator op in ApplicationManager.Manager.GetInstances<IBinaryVectorOperator>()) {
-        if (!(op is ISingleObjectiveMoveEvaluator) || (op is IOneMaxMoveEvaluator)) {
-          Operators.Add(op);
-        }
-      }
-      ParameterizeOperators();
-      InitializeMoveGenerators();
-    }
-    private void InitializeMoveGenerators() {
-      foreach (IOneBitflipMoveOperator op in Operators.OfType<IOneBitflipMoveOperator>()) {
-        if (op is IMoveGenerator) {
-          op.OneBitflipMoveParameter.ActualNameChanged += new EventHandler(OneBitflipMoveParameter_ActualNameChanged);
-        }
-      }
-    }
-    private void ParameterizeOperators() {
-      foreach (IBinaryVectorCrossover op in Operators.OfType<IBinaryVectorCrossover>()) {
-        op.ParentsParameter.ActualName = SolutionCreator.BinaryVectorParameter.ActualName;
-        op.ChildParameter.ActualName = SolutionCreator.BinaryVectorParameter.ActualName;
-      }
-      foreach (IBinaryVectorManipulator op in Operators.OfType<IBinaryVectorManipulator>()) {
-        op.BinaryVectorParameter.ActualName = SolutionCreator.BinaryVectorParameter.ActualName;
-      }
-      foreach (IBinaryVectorMoveOperator op in Operators.OfType<IBinaryVectorMoveOperator>()) {
-        op.BinaryVectorParameter.ActualName = SolutionCreator.BinaryVectorParameter.ActualName;
-      }
-      foreach (var op in Operators.OfType<IBinaryVectorMultiNeighborhoodShakingOperator>())
-        op.BinaryVectorParameter.ActualName = SolutionCreator.BinaryVectorParameter.ActualName;
-    }
-    #endregion
-  }
-}
Index: /trunk/sources/HeuristicLab.Problems.TestFunctions/3.3/Evaluators/MultinormalEvaluator.cs
===================================================================
--- /trunk/sources/HeuristicLab.Problems.TestFunctions/3.3/Evaluators/MultinormalEvaluator.cs	(revision 8586)
+++ /trunk/sources/HeuristicLab.Problems.TestFunctions/3.3/Evaluators/MultinormalEvaluator.cs	(revision 8587)
@@ -44,5 +44,5 @@
       set { Parameters["s^2s"].ActualValue = value; }
     }
-    private static Random Random = new Random();
+    private static System.Random Random = new System.Random();
 
     private Dictionary<int, List<RealVector>> stdCenters;
Index: /trunk/sources/HeuristicLab.Problems.TestFunctions/3.3/MoveEvaluators/RealVectorAdditiveMoveWrapper.cs
===================================================================
--- /trunk/sources/HeuristicLab.Problems.TestFunctions/3.3/MoveEvaluators/RealVectorAdditiveMoveWrapper.cs	(revision 8586)
+++ /trunk/sources/HeuristicLab.Problems.TestFunctions/3.3/MoveEvaluators/RealVectorAdditiveMoveWrapper.cs	(revision 8587)
@@ -66,7 +66,10 @@
         return vector.Length;
       }
-      protected set {
+      #region Mono Compatibility
+      // this setter should be protected, but the Mono compiler couldn't handle it
+      set {
         throw new System.NotSupportedException("Error: Setting the lenght of the wrapper is not allowed.");
       }
+      #endregion
     }
   }
