Index: trunk/sources/HeuristicLab.Hive.Client.Communication/3.2/WcfService.cs
===================================================================
--- trunk/sources/HeuristicLab.Hive.Client.Communication/3.2/WcfService.cs	(revision 1588)
+++ trunk/sources/HeuristicLab.Hive.Client.Communication/3.2/WcfService.cs	(revision 1589)
@@ -253,5 +253,5 @@
     }
 
-    public List<CachedPlugin> RequestPlugins(List<PluginInfo> requestedPlugins) {
+    public List<CachedHivePluginInfo> RequestPlugins(List<PluginInfo> requestedPlugins) {
       try {
         return proxy.SendPlugins(requestedPlugins.ToArray()).Plugins;
Index: trunk/sources/HeuristicLab.Hive.Client.Core/3.2/Core.cs
===================================================================
--- trunk/sources/HeuristicLab.Hive.Client.Core/3.2/Core.cs	(revision 1588)
+++ trunk/sources/HeuristicLab.Hive.Client.Core/3.2/Core.cs	(revision 1589)
@@ -229,23 +229,30 @@
 
     void wcfService_StoreFinishedJobResultCompleted(object sender, StoreFinishedJobResultCompletedEventArgs e) {
-      if (e.Result.Success) {        
-        lock(engines) {        
-          //if the engine is running again -> we sent an snapshot. Otherwise the job was finished
-          //this method has a risk concerning race conditions.
-          //better expand the sendjobresultcompltedeventargs with a boolean "snapshot?" flag
+      lock(engines) {
+        try {
           AppDomain.Unload(appDomains[e.Result.JobId]);
           appDomains.Remove(e.Result.JobId);
           engines.Remove(e.Result.JobId);
           jobs.Remove(e.Result.JobId);
-          ClientStatusInfo.JobsProcessed++;
-          Debug.WriteLine("ProcessedJobs to:" + ClientStatusInfo.JobsProcessed);
-        }        
+        }
+        catch (Exception ex) {
+          Logging.Instance.Error(this.ToString(), "Exception when unloading the appdomain: ", ex);
+        }
+      }
+      if (e.Result.Success) {        
+      
+        //if the engine is running again -> we sent an snapshot. Otherwise the job was finished
+        //this method has a risk concerning race conditions.
+        //better expand the sendjobresultcompltedeventargs with a boolean "snapshot?" flag
+
+        ClientStatusInfo.JobsProcessed++;
+        Debug.WriteLine("ProcessedJobs to:" + ClientStatusInfo.JobsProcessed);                
       } else {        
-        Logging.Instance.Error(this.ToString(), "Sending of job " + e.Result.JobId + " failed");
+        Logging.Instance.Error(this.ToString(), "Sending of job " + e.Result.JobId + " failed, job has been wasted. Message: " + e.Result.StatusMessage);
       }
     }
 
     void wcfService_ProcessSnapshotCompleted(object sender, ProcessSnapshotCompletedEventArgs e) {
-      Logging.Instance.Info(this.ToString(), "Snapshot " + e.Result.JobId + " has been transmitted according to plan");
+      Logging.Instance.Info(this.ToString(), "Snapshot " + e.Result.JobId + " has been transmitted according to plan.");
     }
 
Index: trunk/sources/HeuristicLab.Hive.Client.Core/3.2/PluginCache.cs
===================================================================
--- trunk/sources/HeuristicLab.Hive.Client.Core/3.2/PluginCache.cs	(revision 1588)
+++ trunk/sources/HeuristicLab.Hive.Client.Core/3.2/PluginCache.cs	(revision 1589)
@@ -9,20 +9,20 @@
 namespace HeuristicLab.Hive.Client.Core {
   public class PluginCache {
-    private List<CachedPlugin> pluginCache;
+    private List<CachedHivePluginInfo> pluginCache;
     
     public PluginCache() {
-      pluginCache = new List<CachedPlugin>();
+      pluginCache = new List<CachedHivePluginInfo>();
     }
     
-    public void AddPlugin(CachedPlugin plugin) {
+    public void AddPlugin(CachedHivePluginInfo plugin) {
       pluginCache.Add(plugin);    
     }
 
-    public List<CachedPlugin> GetPlugins(List<PluginInfo> requests) {
-      List<CachedPlugin> neededPlugins = new List<CachedPlugin>();
+    public List<CachedHivePluginInfo> GetPlugins(List<PluginInfo> requests) {
+      List<CachedHivePluginInfo> neededPlugins = new List<CachedHivePluginInfo>();
       List<PluginInfo> missingPlugins = new List<PluginInfo>();
       bool found = false;
       foreach (PluginInfo info in requests) {
-        foreach (CachedPlugin cache in pluginCache) {
+        foreach (CachedHivePluginInfo cache in pluginCache) {
           if (info.Equals(cache)) {
             neededPlugins.Add(cache);
@@ -36,5 +36,5 @@
       }
 
-      List<CachedPlugin> receivedPlugins = WcfService.Instance.RequestPlugins(missingPlugins);
+      List<CachedHivePluginInfo> receivedPlugins = WcfService.Instance.RequestPlugins(missingPlugins);
       if (receivedPlugins != null) {
         neededPlugins.AddRange(receivedPlugins);
Index: trunk/sources/HeuristicLab.Hive.Contracts/3.2/BusinessObjects/CachedPlugin.cs
===================================================================
--- trunk/sources/HeuristicLab.Hive.Contracts/3.2/BusinessObjects/CachedPlugin.cs	(revision 1589)
+++ trunk/sources/HeuristicLab.Hive.Contracts/3.2/BusinessObjects/CachedPlugin.cs	(revision 1589)
@@ -0,0 +1,38 @@
+﻿#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 HeuristicLab.Hive.Contracts.BusinessObjects;
+
+namespace HeuristicLab.PluginInfrastructure {
+  public class CachedHivePluginInfo : HivePluginInfo {
+    
+    private List<byte[]> pluginFiles = new List<byte[]>();
+    /// <summary>
+    /// stores the plugin files in a list of byte arrays
+    /// </summary>
+    public List<byte[]> PluginFiles {
+      get { return pluginFiles; }
+    }
+  }
+}
Index: trunk/sources/HeuristicLab.Hive.Contracts/3.2/HeuristicLab.Hive.Contracts-3.2.csproj
===================================================================
--- trunk/sources/HeuristicLab.Hive.Contracts/3.2/HeuristicLab.Hive.Contracts-3.2.csproj	(revision 1588)
+++ trunk/sources/HeuristicLab.Hive.Contracts/3.2/HeuristicLab.Hive.Contracts-3.2.csproj	(revision 1589)
@@ -87,4 +87,5 @@
   <ItemGroup>
     <Compile Include="ApplicationConstants.cs" />
+    <Compile Include="BusinessObjects\CachedPlugin.cs" />
     <Compile Include="BusinessObjects\ClientGroup.cs" />
     <Compile Include="BusinessObjects\HivePluginInfo.cs" />
Index: trunk/sources/HeuristicLab.Hive.Contracts/3.2/ResponsePlugin.cs
===================================================================
--- trunk/sources/HeuristicLab.Hive.Contracts/3.2/ResponsePlugin.cs	(revision 1588)
+++ trunk/sources/HeuristicLab.Hive.Contracts/3.2/ResponsePlugin.cs	(revision 1589)
@@ -11,5 +11,5 @@
   public class ResponsePlugin : Response {
     [DataMember]
-    public List<CachedPlugin> Plugins { get; set; }
+    public List<CachedHivePluginInfo> Plugins { get; set; }
   }
 }
Index: trunk/sources/HeuristicLab.Hive.Engine/3.2/HeuristicLab.Hive.Engine-3.2.csproj
===================================================================
--- trunk/sources/HeuristicLab.Hive.Engine/3.2/HeuristicLab.Hive.Engine-3.2.csproj	(revision 1588)
+++ trunk/sources/HeuristicLab.Hive.Engine/3.2/HeuristicLab.Hive.Engine-3.2.csproj	(revision 1589)
@@ -4,5 +4,5 @@
     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
     <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>9.0.21022</ProductVersion>
+    <ProductVersion>9.0.30729</ProductVersion>
     <SchemaVersion>2.0</SchemaVersion>
     <ProjectGuid>{C8FEDAC1-0326-4293-B585-F0FEDDEDFC11}</ProjectGuid>
Index: trunk/sources/HeuristicLab.Hive.Engine/3.2/HiveEngine.cs
===================================================================
--- trunk/sources/HeuristicLab.Hive.Engine/3.2/HiveEngine.cs	(revision 1588)
+++ trunk/sources/HeuristicLab.Hive.Engine/3.2/HiveEngine.cs	(revision 1589)
@@ -93,4 +93,6 @@
         pluginInfo.BuildDate = info.BuildDate.ToString();
 
+
+
         pluginsNeeded.Add(pluginInfo);
       }
Index: trunk/sources/HeuristicLab.Hive.JobBase/3.2/TestJob.cs
===================================================================
--- trunk/sources/HeuristicLab.Hive.JobBase/3.2/TestJob.cs	(revision 1588)
+++ trunk/sources/HeuristicLab.Hive.JobBase/3.2/TestJob.cs	(revision 1589)
@@ -37,5 +37,5 @@
 
     public override void Run() {
-      int max = 10;
+      int max = 100;
       while(runValue < max && abort == false) {
         //for (int y = 0; y < Int32.MaxValue; y++) ;
Index: trunk/sources/HeuristicLab.PluginInfrastructure/CachedPlugin.cs
===================================================================
--- trunk/sources/HeuristicLab.PluginInfrastructure/CachedPlugin.cs	(revision 1588)
+++ 	(revision )
@@ -1,37 +1,0 @@
-﻿#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;
-
-namespace HeuristicLab.PluginInfrastructure {
-  public class CachedPlugin : PluginInfo {
-    
-    private List<byte[]> pluginFiles = new List<byte[]>();
-    /// <summary>
-    /// stores the plugin files in a list of byte arrays
-    /// </summary>
-    public List<byte[]> PluginFiles {
-      get { return pluginFiles; }
-    }
-  }
-}
Index: trunk/sources/HeuristicLab.PluginInfrastructure/HeuristicLab.PluginInfrastructure.csproj
===================================================================
--- trunk/sources/HeuristicLab.PluginInfrastructure/HeuristicLab.PluginInfrastructure.csproj	(revision 1588)
+++ trunk/sources/HeuristicLab.PluginInfrastructure/HeuristicLab.PluginInfrastructure.csproj	(revision 1589)
@@ -86,5 +86,4 @@
     <Compile Include="BaseClasses\ApplicationBase.cs" />
     <Compile Include="BaseClasses\PluginBase.cs" />
-    <Compile Include="CachedPlugin.cs" />
     <Compile Include="ClassInfoAttribute.cs" />
     <Compile Include="Interfaces\IApplication.cs" />
