Index: trunk/sources/HeuristicLab.Core/3.3/Attributes/ItemAttribute.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/Attributes/ItemAttribute.cs	(revision 3727)
+++ trunk/sources/HeuristicLab.Core/3.3/Attributes/ItemAttribute.cs	(revision 3728)
@@ -21,4 +21,6 @@
 
 using System;
+using System.Linq;
+using System.Reflection;
 using HeuristicLab.Common;
 
@@ -56,4 +58,14 @@
       else return string.Empty;
     }
+    public static Version GetVersion(Type type) {
+      Assembly assembly = Assembly.GetAssembly(type);
+      AssemblyFileVersionAttribute version = assembly.GetCustomAttributes(typeof(AssemblyFileVersionAttribute), true).
+                                             Cast<AssemblyFileVersionAttribute>().FirstOrDefault();
+      if (version != null) {
+        return new Version(version.Version);
+      } else {
+        return assembly.GetName().Version;
+      }
+    }
   }
 }
Index: trunk/sources/HeuristicLab.Core/3.3/Collections/ItemArray.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/Collections/ItemArray.cs	(revision 3727)
+++ trunk/sources/HeuristicLab.Core/3.3/Collections/ItemArray.cs	(revision 3728)
@@ -54,4 +54,7 @@
       get { return ItemAttribute.GetDescription(this.GetType()); }
     }
+    public Version ItemVersion {
+      get { return ItemAttribute.GetVersion(this.GetType()); }
+    }
     public virtual Image ItemImage {
       get { return VS2008ImageLibrary.Class; }
Index: trunk/sources/HeuristicLab.Core/3.3/Collections/ItemCollection.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/Collections/ItemCollection.cs	(revision 3727)
+++ trunk/sources/HeuristicLab.Core/3.3/Collections/ItemCollection.cs	(revision 3728)
@@ -51,4 +51,7 @@
       get { return ItemAttribute.GetDescription(this.GetType()); }
     }
+    public Version ItemVersion {
+      get { return ItemAttribute.GetVersion(this.GetType()); }
+    }
     public virtual Image ItemImage {
       get { return VS2008ImageLibrary.Class; }
Index: trunk/sources/HeuristicLab.Core/3.3/Collections/ItemDictionary.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/Collections/ItemDictionary.cs	(revision 3727)
+++ trunk/sources/HeuristicLab.Core/3.3/Collections/ItemDictionary.cs	(revision 3728)
@@ -51,4 +51,7 @@
       get { return ItemAttribute.GetDescription(this.GetType()); }
     }
+    public Version ItemVersion {
+      get { return ItemAttribute.GetVersion(this.GetType()); }
+    }
     public virtual Image ItemImage {
       get { return VS2008ImageLibrary.Class; }
Index: trunk/sources/HeuristicLab.Core/3.3/Collections/ItemList.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/Collections/ItemList.cs	(revision 3727)
+++ trunk/sources/HeuristicLab.Core/3.3/Collections/ItemList.cs	(revision 3728)
@@ -54,4 +54,7 @@
       get { return ItemAttribute.GetDescription(this.GetType()); }
     }
+    public Version ItemVersion {
+      get { return ItemAttribute.GetVersion(this.GetType()); }
+    }
     public virtual Image ItemImage {
       get { return VS2008ImageLibrary.Class; }
Index: trunk/sources/HeuristicLab.Core/3.3/Collections/ItemSet.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/Collections/ItemSet.cs	(revision 3727)
+++ trunk/sources/HeuristicLab.Core/3.3/Collections/ItemSet.cs	(revision 3728)
@@ -54,4 +54,7 @@
       get { return ItemAttribute.GetDescription(this.GetType()); }
     }
+    public Version ItemVersion {
+      get { return ItemAttribute.GetVersion(this.GetType()); }
+    }
     public virtual Image ItemImage {
       get { return VS2008ImageLibrary.Class; }
Index: trunk/sources/HeuristicLab.Core/3.3/Collections/KeyedItemCollection.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/Collections/KeyedItemCollection.cs	(revision 3727)
+++ trunk/sources/HeuristicLab.Core/3.3/Collections/KeyedItemCollection.cs	(revision 3728)
@@ -50,4 +50,7 @@
       get { return ItemAttribute.GetDescription(this.GetType()); }
     }
+    public Version ItemVersion {
+      get { return ItemAttribute.GetVersion(this.GetType()); }
+    }
     public virtual Image ItemImage {
       get { return HeuristicLab.Common.Resources.VS2008ImageLibrary.Class; }
Index: trunk/sources/HeuristicLab.Core/3.3/Collections/ReadOnlyItemArray.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/Collections/ReadOnlyItemArray.cs	(revision 3727)
+++ trunk/sources/HeuristicLab.Core/3.3/Collections/ReadOnlyItemArray.cs	(revision 3728)
@@ -51,4 +51,7 @@
       get { return ItemAttribute.GetDescription(this.GetType()); }
     }
+    public Version ItemVersion {
+      get { return ItemAttribute.GetVersion(this.GetType()); }
+    }
     public virtual Image ItemImage {
       get { return VS2008ImageLibrary.Class; }
Index: trunk/sources/HeuristicLab.Core/3.3/Collections/ReadOnlyItemCollection.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/Collections/ReadOnlyItemCollection.cs	(revision 3727)
+++ trunk/sources/HeuristicLab.Core/3.3/Collections/ReadOnlyItemCollection.cs	(revision 3728)
@@ -51,4 +51,7 @@
       get { return ItemAttribute.GetDescription(this.GetType()); }
     }
+    public Version ItemVersion {
+      get { return ItemAttribute.GetVersion(this.GetType()); }
+    }
     public virtual Image ItemImage {
       get { return VS2008ImageLibrary.Class; }
Index: trunk/sources/HeuristicLab.Core/3.3/Collections/ReadOnlyItemDictionary.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/Collections/ReadOnlyItemDictionary.cs	(revision 3727)
+++ trunk/sources/HeuristicLab.Core/3.3/Collections/ReadOnlyItemDictionary.cs	(revision 3728)
@@ -51,4 +51,7 @@
       get { return ItemAttribute.GetDescription(this.GetType()); }
     }
+    public Version ItemVersion {
+      get { return ItemAttribute.GetVersion(this.GetType()); }
+    }
     public virtual Image ItemImage {
       get { return VS2008ImageLibrary.Class; }
Index: trunk/sources/HeuristicLab.Core/3.3/Collections/ReadOnlyItemList.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/Collections/ReadOnlyItemList.cs	(revision 3727)
+++ trunk/sources/HeuristicLab.Core/3.3/Collections/ReadOnlyItemList.cs	(revision 3728)
@@ -51,4 +51,7 @@
       get { return ItemAttribute.GetDescription(this.GetType()); }
     }
+    public Version ItemVersion {
+      get { return ItemAttribute.GetVersion(this.GetType()); }
+    }
     public virtual Image ItemImage {
       get { return VS2008ImageLibrary.Class; }
Index: trunk/sources/HeuristicLab.Core/3.3/Collections/ReadOnlyItemSet.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/Collections/ReadOnlyItemSet.cs	(revision 3727)
+++ trunk/sources/HeuristicLab.Core/3.3/Collections/ReadOnlyItemSet.cs	(revision 3728)
@@ -51,4 +51,7 @@
       get { return ItemAttribute.GetDescription(this.GetType()); }
     }
+    public Version ItemVersion {
+      get { return ItemAttribute.GetVersion(this.GetType()); }
+    }
     public virtual Image ItemImage {
       get { return VS2008ImageLibrary.Class; }
Index: trunk/sources/HeuristicLab.Core/3.3/Collections/ReadOnlyKeyedItemCollection.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/Collections/ReadOnlyKeyedItemCollection.cs	(revision 3727)
+++ trunk/sources/HeuristicLab.Core/3.3/Collections/ReadOnlyKeyedItemCollection.cs	(revision 3728)
@@ -51,4 +51,7 @@
       get { return ItemAttribute.GetDescription(this.GetType()); }
     }
+    public Version ItemVersion {
+      get { return ItemAttribute.GetVersion(this.GetType()); }
+    }
     public virtual Image ItemImage {
       get { return VS2008ImageLibrary.Class; }
Index: trunk/sources/HeuristicLab.Core/3.3/Interfaces/IItem.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/Interfaces/IItem.cs	(revision 3727)
+++ trunk/sources/HeuristicLab.Core/3.3/Interfaces/IItem.cs	(revision 3728)
@@ -31,4 +31,5 @@
     string ItemName { get; }
     string ItemDescription { get; }
+    Version ItemVersion { get; }
     Image ItemImage { get; }
 
Index: trunk/sources/HeuristicLab.Core/3.3/Item.cs
===================================================================
--- trunk/sources/HeuristicLab.Core/3.3/Item.cs	(revision 3727)
+++ trunk/sources/HeuristicLab.Core/3.3/Item.cs	(revision 3728)
@@ -50,4 +50,7 @@
       get { return ItemAttribute.GetDescription(this.GetType()); }
     }
+    public Version ItemVersion {
+      get { return ItemAttribute.GetVersion(this.GetType()); }
+    }
     public virtual Image ItemImage {
       get { return HeuristicLab.Common.Resources.VS2008ImageLibrary.Class; }
Index: trunk/sources/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Tests/TestRandom.cs
===================================================================
--- trunk/sources/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Tests/TestRandom.cs	(revision 3727)
+++ trunk/sources/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Tests/TestRandom.cs	(revision 3728)
@@ -109,4 +109,8 @@
     }
 
+    public Version ItemVersion {
+      get { throw new NotImplementedException(); }
+    }
+
     public System.Drawing.Image ItemImage {
       get { throw new NotImplementedException(); }
Index: trunk/sources/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Tests/TestRandom.cs
===================================================================
--- trunk/sources/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Tests/TestRandom.cs	(revision 3727)
+++ trunk/sources/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Tests/TestRandom.cs	(revision 3728)
@@ -109,4 +109,8 @@
     }
 
+    public Version ItemVersion {
+      get { throw new NotImplementedException(); }
+    }
+
     public System.Drawing.Image ItemImage {
       get { throw new NotImplementedException(); }
Index: trunk/sources/HeuristicLab.Encodings.PermutationEncoding/3.3/Tests/Random.cs
===================================================================
--- trunk/sources/HeuristicLab.Encodings.PermutationEncoding/3.3/Tests/Random.cs	(revision 3727)
+++ trunk/sources/HeuristicLab.Encodings.PermutationEncoding/3.3/Tests/Random.cs	(revision 3728)
@@ -109,4 +109,8 @@
     }
 
+    public Version ItemVersion {
+      get { throw new NotImplementedException(); }
+    }
+
     public System.Drawing.Image ItemImage {
       get { throw new NotImplementedException(); }
Index: trunk/sources/HeuristicLab.Encodings.RealVectorEncoding/3.3/Tests/TestRandom.cs
===================================================================
--- trunk/sources/HeuristicLab.Encodings.RealVectorEncoding/3.3/Tests/TestRandom.cs	(revision 3727)
+++ trunk/sources/HeuristicLab.Encodings.RealVectorEncoding/3.3/Tests/TestRandom.cs	(revision 3728)
@@ -109,4 +109,8 @@
     }
 
+    public Version ItemVersion {
+      get { throw new NotImplementedException(); }
+    }
+
     public System.Drawing.Image ItemImage {
       get { throw new NotImplementedException(); }
Index: trunk/sources/HeuristicLab.Optimizer/3.3/NewItemDialog.Designer.cs
===================================================================
--- trunk/sources/HeuristicLab.Optimizer/3.3/NewItemDialog.Designer.cs	(revision 3727)
+++ trunk/sources/HeuristicLab.Optimizer/3.3/NewItemDialog.Designer.cs	(revision 3728)
@@ -52,4 +52,5 @@
       this.descriptioncolumnHeader = new System.Windows.Forms.ColumnHeader();
       this.toolTip = new System.Windows.Forms.ToolTip(this.components);
+      this.versionColumnHeader = new System.Windows.Forms.ColumnHeader();
       this.SuspendLayout();
       // 
@@ -85,4 +86,5 @@
       this.itemsListView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
             this.nameColumnHeader,
+            this.versionColumnHeader,
             this.descriptioncolumnHeader});
       this.itemsListView.FullRowSelect = true;
@@ -100,4 +102,5 @@
       // nameColumnHeader
       // 
+      this.nameColumnHeader.DisplayIndex = 0;
       this.nameColumnHeader.Text = "Name";
       this.nameColumnHeader.Width = 91;
@@ -105,6 +108,12 @@
       // descriptioncolumnHeader
       // 
+      this.descriptioncolumnHeader.DisplayIndex = 2;
       this.descriptioncolumnHeader.Text = "Description";
       this.descriptioncolumnHeader.Width = 190;
+      // 
+      // versionColumnHeader
+      // 
+      this.versionColumnHeader.DisplayIndex = 1;
+      this.versionColumnHeader.Text = "Version";
       // 
       // NewItemDialog
@@ -140,4 +149,5 @@
     private System.Windows.Forms.ColumnHeader nameColumnHeader;
     private System.Windows.Forms.ColumnHeader descriptioncolumnHeader;
+    private System.Windows.Forms.ColumnHeader versionColumnHeader;
   }
 }
Index: trunk/sources/HeuristicLab.Optimizer/3.3/NewItemDialog.cs
===================================================================
--- trunk/sources/HeuristicLab.Optimizer/3.3/NewItemDialog.cs	(revision 3727)
+++ trunk/sources/HeuristicLab.Optimizer/3.3/NewItemDialog.cs	(revision 3728)
@@ -49,5 +49,5 @@
         var categories = from t in ApplicationManager.Manager.GetTypes(typeof(IItem))
                          where CreatableAttribute.IsCreatable(t)
-                         orderby CreatableAttribute.GetCategory(t), ItemAttribute.GetName(t) ascending
+                         orderby CreatableAttribute.GetCategory(t), ItemAttribute.GetName(t), ItemAttribute.GetVersion(t) ascending
                          group t by CreatableAttribute.GetCategory(t) into c
                          select c;
@@ -60,5 +60,5 @@
             IItem i = (IItem)Activator.CreateInstance(creatable);
             items.Add(i);
-            ListViewItem item = new ListViewItem(new string[] { i.ItemName, i.ItemDescription}, group);
+            ListViewItem item = new ListViewItem(new string[] { i.ItemName, i.ItemVersion.ToString(), i.ItemDescription}, group);
             itemsListView.SmallImageList.Images.Add(i.ItemImage);
             item.ImageIndex = itemsListView.SmallImageList.Images.Count - 1;
