Index: branches/CodeEditor/HeuristicLab.Scripting.Views/3.3/HeuristicLab.Scripting.Views-3.3.csproj
===================================================================
--- trunk/sources/HeuristicLab.Scripting.Views/3.3/HeuristicLab.Scripting.Views-3.3.csproj	(revision 11657)
+++ branches/CodeEditor/HeuristicLab.Scripting.Views/3.3/HeuristicLab.Scripting.Views-3.3.csproj	(revision 11700)
@@ -118,8 +118,7 @@
   </ItemGroup>
   <ItemGroup>
-    <ProjectReference Include="..\..\HeuristicLab.CodeEditor\3.3\HeuristicLab.CodeEditor-3.3.csproj">
-      <Project>{489cfe09-fdf7-4c89-bab5-bd09cadd61ad}</Project>
-      <Name>HeuristicLab.CodeEditor-3.3</Name>
-      <Private>False</Private>
+    <ProjectReference Include="..\..\HeuristicLab.CodeEditor\3.4\HeuristicLab.CodeEditor-3.4.csproj">
+      <Project>{c38691ae-ecb4-489a-a05d-b035554e0168}</Project>
+      <Name>HeuristicLab.CodeEditor-3.4</Name>
     </ProjectReference>
     <ProjectReference Include="..\..\HeuristicLab.Collections\3.3\HeuristicLab.Collections-3.3.csproj">
Index: branches/CodeEditor/HeuristicLab.Scripting.Views/3.3/Plugin.cs.frame
===================================================================
--- trunk/sources/HeuristicLab.Scripting.Views/3.3/Plugin.cs.frame	(revision 11657)
+++ branches/CodeEditor/HeuristicLab.Scripting.Views/3.3/Plugin.cs.frame	(revision 11700)
@@ -25,5 +25,5 @@
   [Plugin("HeuristicLab.Scripting.Views", "3.3.10.$WCREV$")]
   [PluginFile("HeuristicLab.Scripting.Views-3.3.dll", PluginFileType.Assembly)]
-  [PluginDependency("HeuristicLab.CodeEditor", "3.3")]
+  [PluginDependency("HeuristicLab.CodeEditor", "3.4")]
   [PluginDependency("HeuristicLab.Collections", "3.3")]
   [PluginDependency("HeuristicLab.Common", "3.3")]
Index: branches/CodeEditor/HeuristicLab.Scripting.Views/3.3/ScriptView.Designer.cs
===================================================================
--- trunk/sources/HeuristicLab.Scripting.Views/3.3/ScriptView.Designer.cs	(revision 11657)
+++ branches/CodeEditor/HeuristicLab.Scripting.Views/3.3/ScriptView.Designer.cs	(revision 11700)
@@ -19,4 +19,8 @@
  */
 #endregion
+
+using System.Collections.Generic;
+using System.Reflection;
+using HeuristicLab.Common;
 
 namespace HeuristicLab.Scripting.Views {
@@ -46,5 +50,4 @@
     private void InitializeComponent() {
       this.components = new System.ComponentModel.Container();
-      System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ScriptView));
       this.compilationLabel = new System.Windows.Forms.Label();
       this.imageList = new System.Windows.Forms.ImageList(this.components);
@@ -214,10 +217,14 @@
       this.codeEditor.TabIndex = 0;
       this.codeEditor.UserCode = "";
+      this.codeEditor.AssembliesLoaded += new System.EventHandler<EventArgs<IEnumerable<Assembly>>>(this.codeEditor_AssembliesLoaded);
+      this.codeEditor.AssembliesLoading += new System.EventHandler<EventArgs<IEnumerable<Assembly>>>(this.codeEditor_AssembliesLoading);
+      this.codeEditor.AssembliesUnloaded += new System.EventHandler<EventArgs<IEnumerable<Assembly>>>(this.codeEditor_AssembliesUnloaded);
+      this.codeEditor.AssembliesUnloading += new System.EventHandler<EventArgs<IEnumerable<Assembly>>>(this.codeEditor_AssembliesUnloading);
       this.codeEditor.TextEditorTextChanged += new System.EventHandler(this.codeEditor_TextEditorTextChanged);
       // 
       // splitContainer1
       // 
-      this.splitContainer1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
-            | System.Windows.Forms.AnchorStyles.Left) 
+      this.splitContainer1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+            | System.Windows.Forms.AnchorStyles.Left)
             | System.Windows.Forms.AnchorStyles.Right)));
       this.splitContainer1.Location = new System.Drawing.Point(0, 56);
Index: branches/CodeEditor/HeuristicLab.Scripting.Views/3.3/ScriptView.cs
===================================================================
--- trunk/sources/HeuristicLab.Scripting.Views/3.3/ScriptView.cs	(revision 11657)
+++ branches/CodeEditor/HeuristicLab.Scripting.Views/3.3/ScriptView.cs	(revision 11700)
@@ -22,8 +22,11 @@
 using System;
 using System.CodeDom.Compiler;
+using System.Collections.Generic;
 using System.Drawing;
 using System.Globalization;
 using System.Linq;
+using System.Reflection;
 using System.Windows.Forms;
+using HeuristicLab.Common;
 using HeuristicLab.Common.Resources;
 using HeuristicLab.Core.Views;
@@ -35,4 +38,8 @@
   [Content(typeof(Script), true)]
   public partial class ScriptView : NamedItemView {
+    private const string AssembliesLoadingMessage = "Loading Assemblies";
+    private const string AssembliesUnloadingMessage = "Unloading Assemblies";
+    private const int SilentAssemblyLoadingOperationLimit = 10;
+
     #region Properties
     public new Script Content {
@@ -73,8 +80,6 @@
         codeEditor.UserCode = string.Empty;
       } else {
-        if (codeEditor.UserCode != Content.Code)
-          codeEditor.UserCode = Content.Code;
-        foreach (var asm in Content.GetAssemblies())
-          codeEditor.AddAssembly(asm);
+        codeEditor.UserCode = Content.Code;
+        codeEditor.AddAssembliesAsync(Content.GetAssemblies());
         if (Content.CompileErrors == null) {
           compilationLabel.ForeColor = SystemColors.ControlDarkDark;
@@ -131,5 +136,5 @@
         Locked = false;
         codeEditor.Focus();
-        OnContentChanged();
+        //OnContentChanged();
       }
     }
@@ -157,5 +162,5 @@
       }
 
-      codeEditor.ShowCompileErrors(Content.CompileErrors, ".cs");
+      codeEditor.ShowCompileErrors(Content.CompileErrors);
 
       AdjustErrorListViewColumnSizes();
@@ -196,4 +201,28 @@
     }
     #endregion
+
+    private void codeEditor_AssembliesLoading(object sender, EventArgs<IEnumerable<Assembly>> e) {
+      if (e.Value.Count() <= SilentAssemblyLoadingOperationLimit) return;
+      var mainForm = MainFormManager.GetMainForm<MainForm.WindowsForms.MainForm>();
+      mainForm.AddOperationProgressToView(this, AssembliesLoadingMessage);
+    }
+
+    private void codeEditor_AssembliesLoaded(object sender, EventArgs<IEnumerable<Assembly>> e) {
+      if (e.Value.Count() <= SilentAssemblyLoadingOperationLimit) return;
+      var mainForm = MainFormManager.GetMainForm<MainForm.WindowsForms.MainForm>();
+      mainForm.RemoveOperationProgressFromView(this);
+    }
+
+    private void codeEditor_AssembliesUnloading(object sender, EventArgs<IEnumerable<Assembly>> e) {
+      if (e.Value.Count() <= SilentAssemblyLoadingOperationLimit) return;
+      var mainForm = MainFormManager.GetMainForm<MainForm.WindowsForms.MainForm>();
+      mainForm.AddOperationProgressToView(this, AssembliesUnloadingMessage);
+    }
+
+    private void codeEditor_AssembliesUnloaded(object sender, EventArgs<IEnumerable<Assembly>> e) {
+      if (e.Value.Count() <= SilentAssemblyLoadingOperationLimit) return;
+      var mainForm = MainFormManager.GetMainForm<MainForm.WindowsForms.MainForm>();
+      mainForm.RemoveOperationProgressFromView(this);
+    }
   }
 }
