Index: stable/HeuristicLab.PluginInfrastructure/3.3/Advanced/InstallationManagerForm.cs
===================================================================
--- stable/HeuristicLab.PluginInfrastructure/3.3/Advanced/InstallationManagerForm.cs	(revision 10032)
+++ stable/HeuristicLab.PluginInfrastructure/3.3/Advanced/InstallationManagerForm.cs	(revision 11121)
@@ -22,5 +22,4 @@
 using System.Collections.Generic;
 using System.ComponentModel;
-using System.Diagnostics;
 using System.IO;
 using System.Linq;
@@ -37,6 +36,5 @@
       : base() {
       InitializeComponent();
-      FileVersionInfo pluginInfrastructureVersion = FileVersionInfo.GetVersionInfo(GetType().Assembly.Location);
-      Text = "HeuristicLab Plugin Manager " + pluginInfrastructureVersion.FileVersion;
+      Text = "HeuristicLab Plugin Manager " + AssemblyHelpers.GetFileVersion(GetType().Assembly);
 
       pluginManager.PluginLoaded += pluginManager_PluginLoaded;
Index: stable/HeuristicLab.PluginInfrastructure/3.3/Advanced/PluginUpdaterForm.cs
===================================================================
--- stable/HeuristicLab.PluginInfrastructure/3.3/Advanced/PluginUpdaterForm.cs	(revision 10032)
+++ stable/HeuristicLab.PluginInfrastructure/3.3/Advanced/PluginUpdaterForm.cs	(revision 11121)
@@ -22,5 +22,4 @@
 using System.Collections.Generic;
 using System.ComponentModel;
-using System.Diagnostics;
 using System.IO;
 using System.Linq;
@@ -39,6 +38,5 @@
       : base() {
       InitializeComponent();
-      FileVersionInfo pluginInfrastructureVersion = FileVersionInfo.GetVersionInfo(GetType().Assembly.Location);
-      Text = "HeuristicLab Plugin Manager " + pluginInfrastructureVersion.FileVersion;
+      Text = "HeuristicLab Plugin Manager " + AssemblyHelpers.GetFileVersion(GetType().Assembly);
       pluginManager.PluginLoaded += pluginManager_PluginLoaded;
       pluginManager.PluginUnloaded += pluginManager_PluginUnloaded;
Index: stable/HeuristicLab.PluginInfrastructure/3.3/AssemblyHelpers.cs
===================================================================
--- stable/HeuristicLab.PluginInfrastructure/3.3/AssemblyHelpers.cs	(revision 11121)
+++ stable/HeuristicLab.PluginInfrastructure/3.3/AssemblyHelpers.cs	(revision 11121)
@@ -0,0 +1,55 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2014 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.Reflection;
+
+namespace HeuristicLab.PluginInfrastructure {
+  public static class AssemblyHelpers {
+    //Based on the code from http://stackoverflow.com/a/7156425
+    public static string GetCustomAttributeValue<T>(Assembly assembly, string propertyName)
+       where T : Attribute {
+      if (assembly == null || string.IsNullOrEmpty(propertyName)) {
+        throw new ArgumentException("Arguments are not allowed to be null.");
+      }
+
+      object[] attributes = assembly.GetCustomAttributes(typeof(T), false);
+      if (attributes.Length == 0) {
+        throw new InvalidOperationException(string.Format("No attributes of type {0} found in assembly {1}", typeof(T).Name,
+          assembly.FullName));
+      }
+
+      var attribute = (T)attributes[0];
+      var propertyInfo = attribute.GetType().GetProperty(propertyName);
+      if (propertyInfo == null) {
+        throw new InvalidOperationException(string.Format("No property {0} found in attribute {1}, assembly: {2}",
+          propertyName, typeof(T).Name, assembly.FullName));
+      }
+
+      var value = propertyInfo.GetValue(attribute, null);
+      return value.ToString();
+    }
+
+    public static string GetFileVersion(Assembly assembly) {
+      return GetCustomAttributeValue<AssemblyFileVersionAttribute>(assembly, "Version");
+    }
+  }
+}
Index: stable/HeuristicLab.PluginInfrastructure/3.3/ErrorHandling/ErrorHandling.cs
===================================================================
--- stable/HeuristicLab.PluginInfrastructure/3.3/ErrorHandling/ErrorHandling.cs	(revision 10032)
+++ stable/HeuristicLab.PluginInfrastructure/3.3/ErrorHandling/ErrorHandling.cs	(revision 11121)
@@ -21,5 +21,4 @@
 
 using System;
-using System.Diagnostics;
 using System.Windows.Forms;
 
@@ -31,5 +30,5 @@
       } else {
         string message =
-          "HeuristicLab version: " + FileVersionInfo.GetVersionInfo(typeof(ErrorHandling).Assembly.Location).FileVersion + Environment.NewLine +
+          "HeuristicLab version: " + AssemblyHelpers.GetFileVersion(typeof(ErrorHandling).Assembly) + Environment.NewLine +
           exception.GetType().Name + ": " + exception.Message + Environment.NewLine +
                          exception.StackTrace;
Index: stable/HeuristicLab.PluginInfrastructure/3.3/HeuristicLab.PluginInfrastructure-3.3.csproj
===================================================================
--- stable/HeuristicLab.PluginInfrastructure/3.3/HeuristicLab.PluginInfrastructure-3.3.csproj	(revision 10032)
+++ stable/HeuristicLab.PluginInfrastructure/3.3/HeuristicLab.PluginInfrastructure-3.3.csproj	(revision 11121)
@@ -215,4 +215,5 @@
       <DependentUpon>PluginView.cs</DependentUpon>
     </Compile>
+    <Compile Include="AssemblyHelpers.cs" />
     <Compile Include="CommandLineArgumentHandling\Arguments\OpenArgument.cs" />
     <Compile Include="CommandLineArgumentHandling\Arguments\HideStarterArgument.cs" />
Index: stable/HeuristicLab.PluginInfrastructure/3.3/Starter/AboutDialog.cs
===================================================================
--- stable/HeuristicLab.PluginInfrastructure/3.3/Starter/AboutDialog.cs	(revision 10032)
+++ stable/HeuristicLab.PluginInfrastructure/3.3/Starter/AboutDialog.cs	(revision 11121)
@@ -22,5 +22,4 @@
 using System;
 using System.Collections.Generic;
-using System.Diagnostics;
 using System.Linq;
 using System.Reflection;
@@ -80,6 +79,5 @@
 
     private string GetVersion() {
-      FileVersionInfo pluginInfrastructureVersion = FileVersionInfo.GetVersionInfo(GetType().Assembly.Location);
-      return pluginInfrastructureVersion.FileVersion;
+      return AssemblyHelpers.GetFileVersion(GetType().Assembly);
     }
 
Index: stable/HeuristicLab.PluginInfrastructure/3.3/Starter/SplashScreen.cs
===================================================================
--- stable/HeuristicLab.PluginInfrastructure/3.3/Starter/SplashScreen.cs	(revision 10032)
+++ stable/HeuristicLab.PluginInfrastructure/3.3/Starter/SplashScreen.cs	(revision 11121)
@@ -21,5 +21,4 @@
 
 using System;
-using System.Diagnostics;
 using System.Linq;
 using System.Reflection;
@@ -45,6 +44,5 @@
       RegisterPluginManagerEventHandlers();
 
-      FileVersionInfo pluginInfrastructureVersion = FileVersionInfo.GetVersionInfo(GetType().Assembly.Location);
-      versionLabel.Text = "Version " + pluginInfrastructureVersion.FileVersion;
+      versionLabel.Text = "Version " + AssemblyHelpers.GetFileVersion(GetType().Assembly);
       infoLabel.Text = "";
 
Index: stable/HeuristicLab.PluginInfrastructure/3.3/Starter/StarterForm.cs
===================================================================
--- stable/HeuristicLab.PluginInfrastructure/3.3/Starter/StarterForm.cs	(revision 10032)
+++ stable/HeuristicLab.PluginInfrastructure/3.3/Starter/StarterForm.cs	(revision 11121)
@@ -22,5 +22,4 @@
 using System;
 using System.Collections.Generic;
-using System.Diagnostics;
 using System.IO;
 using System.Linq;
@@ -60,6 +59,5 @@
       smallImageList.Images.Add(HeuristicLab.PluginInfrastructure.Resources.HeuristicLab.ToBitmap());
       smallImageList.Images.Add(HeuristicLab.PluginInfrastructure.Resources.UpdateAvailable.ToBitmap());
-      FileVersionInfo pluginInfrastructureVersion = FileVersionInfo.GetVersionInfo(GetType().Assembly.Location);
-      Text = "HeuristicLab " + pluginInfrastructureVersion.FileVersion;
+      Text = "HeuristicLab " + AssemblyHelpers.GetFileVersion(GetType().Assembly);
 
       string pluginPath = Path.GetFullPath(Application.StartupPath);
@@ -204,8 +202,7 @@
 
     private void AddPluginManagerItem() {
-      FileVersionInfo pluginInfrastructureVersion = FileVersionInfo.GetVersionInfo(GetType().Assembly.Location);
       pluginManagerListViewItem = new ListViewItem(pluginManagerItemName, 0);
       pluginManagerListViewItem.Group = applicationsListView.Groups["Plugin Management"];
-      pluginManagerListViewItem.SubItems.Add(new ListViewItem.ListViewSubItem(pluginManagerListViewItem, pluginInfrastructureVersion.FileVersion));
+      pluginManagerListViewItem.SubItems.Add(new ListViewItem.ListViewSubItem(pluginManagerListViewItem, AssemblyHelpers.GetFileVersion(GetType().Assembly)));
       pluginManagerListViewItem.SubItems.Add(new ListViewItem.ListViewSubItem(pluginManagerListViewItem, "Install, upgrade or delete plugins"));
       pluginManagerListViewItem.ToolTipText = "Install, upgrade or delete plugins";
