Index: trunk/sources/HeuristicLab.PluginInfrastructure/AssemblyBuildDateAttribute.cs
===================================================================
--- trunk/sources/HeuristicLab.PluginInfrastructure/AssemblyBuildDateAttribute.cs	(revision 91)
+++ trunk/sources/HeuristicLab.PluginInfrastructure/AssemblyBuildDateAttribute.cs	(revision 91)
@@ -0,0 +1,43 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 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.Text;
+using System.Globalization;
+
+namespace HeuristicLab.PluginInfrastructure {
+  [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = false)]
+  public class AssemblyBuildDateAttribute : Attribute {
+    private DateTime buildDate;
+    public DateTime BuildDate {
+      get { return buildDate; }
+      set { buildDate = value; }
+    }
+    public AssemblyBuildDateAttribute(string timeStamp)
+      : base() {
+
+      if(!DateTime.TryParse(timeStamp, out buildDate)) {
+        throw new FormatException("Can't parse AssemblyBuildDate " + timeStamp);
+      }
+    }
+  }
+}
Index: trunk/sources/HeuristicLab.PluginInfrastructure/ClassInfoAttribute.cs
===================================================================
--- trunk/sources/HeuristicLab.PluginInfrastructure/ClassInfoAttribute.cs	(revision 37)
+++ trunk/sources/HeuristicLab.PluginInfrastructure/ClassInfoAttribute.cs	(revision 91)
@@ -32,5 +32,4 @@
   public class ClassInfoAttribute : System.Attribute {
     private string name;
-
     /// <summary>
     /// Name of the plugin to which the assembly belongs to.
@@ -42,5 +41,4 @@
 
     private string version;
-
     public string Version {
       get { return version; }
@@ -48,7 +46,5 @@
     }
 
-
     private string description;
-
     public string Description {
       get { return description; }
Index: trunk/sources/HeuristicLab.PluginInfrastructure/HeuristicLab.PluginInfrastructure.csproj
===================================================================
--- trunk/sources/HeuristicLab.PluginInfrastructure/HeuristicLab.PluginInfrastructure.csproj	(revision 37)
+++ trunk/sources/HeuristicLab.PluginInfrastructure/HeuristicLab.PluginInfrastructure.csproj	(revision 91)
@@ -49,4 +49,5 @@
   <ItemGroup>
     <Compile Include="ApplicationInfo.cs" />
+    <Compile Include="AssemblyBuildDateAttribute.cs" />
     <Compile Include="BaseClasses\ApplicationBase.cs" />
     <Compile Include="BaseClasses\PluginBase.cs" />
Index: trunk/sources/HeuristicLab.PluginInfrastructure/Loader.cs
===================================================================
--- trunk/sources/HeuristicLab.PluginInfrastructure/Loader.cs	(revision 37)
+++ trunk/sources/HeuristicLab.PluginInfrastructure/Loader.cs	(revision 91)
@@ -333,4 +333,10 @@
       pluginInfo.Name = plugin.Name;
       pluginInfo.Version = plugin.Version;
+
+      object[] customAttributes = plugin.GetType().Assembly.GetCustomAttributes(typeof(AssemblyBuildDateAttribute), false);
+      if(customAttributes.Length > 0) {
+        pluginInfo.BuildDate = ((AssemblyBuildDateAttribute)customAttributes[0]).BuildDate;
+      }
+
       string baseDir = AppDomain.CurrentDomain.BaseDirectory;
 
Index: trunk/sources/HeuristicLab.PluginInfrastructure/PluginInfo.cs
===================================================================
--- trunk/sources/HeuristicLab.PluginInfrastructure/PluginInfo.cs	(revision 37)
+++ trunk/sources/HeuristicLab.PluginInfrastructure/PluginInfo.cs	(revision 91)
@@ -32,18 +32,19 @@
   public class PluginInfo {
     private string name;
-
     public string Name {
       get { return name; }
       set { name = value; }
     }
-
     private Version version;
-
     public Version Version {
       get { return version; }
       set { version = value; }
     }
-
-    private List<string> files = new List<string> ();
+    private DateTime buildDate;
+    public DateTime BuildDate {
+      get { return buildDate; }
+      set { buildDate = value; }
+    }
+    private List<string> files = new List<string>();
     /// <summary>
     /// Names of all files that belong to this plugin.
@@ -54,10 +55,9 @@
     }
 
-    private List<PluginInfo> dependencies = new List<PluginInfo> ();
+    private List<PluginInfo> dependencies = new List<PluginInfo>();
     public List<PluginInfo> Dependencies {
       get { return dependencies; }
     }
     private List<string> assemblies = new List<string>();
-
     /// <summary>
     /// Names of the assemblies that belong to this plugin.
@@ -67,6 +67,4 @@
       set { assemblies = value; }
     }
-
-
     private string message;
     public string Message {
@@ -74,9 +72,7 @@
       set { message = value; }
     }
-
     public override string ToString() {
       return Name;
     }
-
     // equals and hashcode have to be implemented because we want to compare PluginDescriptions from 
     // different AppDomains and serialization destroys reference equality
@@ -88,5 +84,4 @@
       return other.Name == this.Name && other.Version == this.Version;
     }
-
     public override int GetHashCode() {
       if(version != null) {
Index: trunk/sources/HeuristicLab.PluginInfrastructure/Properties/AssemblyInfo.frame
===================================================================
--- trunk/sources/HeuristicLab.PluginInfrastructure/Properties/AssemblyInfo.frame	(revision 37)
+++ trunk/sources/HeuristicLab.PluginInfrastructure/Properties/AssemblyInfo.frame	(revision 91)
@@ -23,4 +23,5 @@
 using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
+using HeuristicLab.PluginInfrastructure;
 
 // General Information about an assembly is controlled through the following 
