Index: /trunk/sources/HeuristicLab.Hive.Client.Communication/3.2/HeuristicLab.Hive.Client.Communication-3.2.csproj
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Communication/3.2/HeuristicLab.Hive.Client.Communication-3.2.csproj	(revision 1601)
+++ /trunk/sources/HeuristicLab.Hive.Client.Communication/3.2/HeuristicLab.Hive.Client.Communication-3.2.csproj	(revision 1602)
@@ -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>{AEB51212-CDBA-4FC6-A2EE-02359AA53ECE}</ProjectGuid>
@@ -134,4 +134,5 @@
   </ItemGroup>
   <ItemGroup>
+    <None Include="app.config" />
     <None Include="Properties\DataSources\HeuristicLab.Hive.Contracts.Response.datasource" />
     <None Include="Properties\DataSources\HeuristicLab.Hive.Contracts.ResponseHB.datasource" />
@@ -140,8 +141,8 @@
     <None Include="Properties\DataSources\HeuristicLab.Hive.Contracts.ResponseResultReceived.datasource" />
     <None Include="Service References\ServerService\Arrays1.xsd" />
-    <None Include="Service References\ServerService\HeuristicLab.DataAccess1.xsd" />
+    <None Include="Service References\ServerService\HeuristicLab.DataAccess.xsd" />
     <None Include="Service References\ServerService\HeuristicLab.Hive.Contracts.BusinessObjects1.xsd" />
     <None Include="Service References\ServerService\HeuristicLab.Hive.Contracts1.xsd" />
-    <None Include="Service References\ServerService\HeuristicLab.PluginInfrastructure.xsd" />
+    <None Include="Service References\ServerService\HeuristicLab.PluginInfrastructure1.xsd" />
     <None Include="Service References\ServerService\Reference.svcmap">
       <Generator>WCF Proxy Generator</Generator>
Index: /trunk/sources/HeuristicLab.Hive.Client.Core/3.2/Core.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Core/3.2/Core.cs	(revision 1601)
+++ /trunk/sources/HeuristicLab.Hive.Client.Core/3.2/Core.cs	(revision 1602)
@@ -205,6 +205,10 @@
 
         PluginManager.Manager.Initialize();
+        //Todo: make a set & override the equals method
+        List<byte[]> files = new List<byte[]>();
+        foreach (CachedHivePluginInfo plugininfo in PluginCache.Instance.GetPlugins(e.Result.Job.PluginsNeeded))
+          files.AddRange(plugininfo.PluginFiles);
         
-        AppDomain appDomain = PluginManager.Manager.CreateAndInitAppDomainWithSandbox(e.Result.Job.Id.ToString(), sandboxed, typeof(HeuristicLab.Hive.Engine.HiveEngine));
+        AppDomain appDomain = PluginManager.Manager.CreateAndInitAppDomainWithSandbox(e.Result.Job.Id.ToString(), sandboxed, typeof(HeuristicLab.Hive.Engine.HiveEngine), files);
         appDomain.UnhandledException += new UnhandledExceptionEventHandler(appDomain_UnhandledException);
         lock (engines) {                    
Index: /trunk/sources/HeuristicLab.Hive.Client.Core/3.2/PluginCache.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Core/3.2/PluginCache.cs	(revision 1601)
+++ /trunk/sources/HeuristicLab.Hive.Client.Core/3.2/PluginCache.cs	(revision 1602)
@@ -10,6 +10,17 @@
 namespace HeuristicLab.Hive.Client.Core {
   public class PluginCache {
+
+    private static PluginCache instance = null;
+    public static PluginCache Instance {
+      get {
+        if (instance == null)
+          instance = new PluginCache();
+        return instance;
+      }
+    } 
+    
     private List<CachedHivePluginInfo> pluginCache;
     
+
     public PluginCache() {
       pluginCache = new List<CachedHivePluginInfo>();
@@ -24,4 +35,6 @@
       List<HivePluginInfo> missingPlugins = new List<HivePluginInfo>();
       bool found = false;
+      
+      //Todo: Fix the whole equals thing here
       foreach (HivePluginInfo info in requests) {
         foreach (CachedHivePluginInfo cache in pluginCache) {
Index: /trunk/sources/HeuristicLab.PluginInfrastructure/PluginManager.cs
===================================================================
--- /trunk/sources/HeuristicLab.PluginInfrastructure/PluginManager.cs	(revision 1601)
+++ /trunk/sources/HeuristicLab.PluginInfrastructure/PluginManager.cs	(revision 1602)
@@ -191,5 +191,5 @@
     }
 
-    public AppDomain CreateAndInitAppDomainWithSandbox(string friendlyName, bool sandboxed, Type jobType) {
+    public AppDomain CreateAndInitAppDomainWithSandbox(string friendlyName, bool sandboxed, Type jobType, ICollection<byte[]> assemblyFiles) {
       PermissionSet pset;
 
@@ -227,7 +227,10 @@
       NotifyListeners(PluginManagerAction.Initializing, "All plugins");
 
-      if (depPlugins != null && depPlugins.Count > 0) {
-        remoteRunner.LoadPlugins(depPlugins);
-      }
+      if (assemblyFiles != null && assemblyFiles.Count > 0)
+        remoteRunner.LoadPlugins(assemblyFiles);
+    
+      //if (depPlugins != null && depPlugins.Count > 0) {        
+      //  remoteRunner.LoadPlugins(depPlugins);
+      //}
       NotifyListeners(PluginManagerAction.Initialized, "All plugins");
       return applicationDomain;
