From cbbedce145d523d9c61b7ac72fce3a11f97b2b5b Mon Sep 17 00:00:00 2001 From: Daniel Grunwald Date: Sun, 27 Aug 2006 21:00:19 +0000 Subject: [PATCH] Applied forms designer assembly loading patch by Alex Prudkiy. git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@1722 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../Project/Src/DesignerViewContent.cs | 2 -- .../Src/Gui/CustomComponentsSideTab.cs | 14 ++--------- .../Src/Services/TypeResolutionService.cs | 23 +++---------------- 3 files changed, 5 insertions(+), 34 deletions(-) diff --git a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerViewContent.cs b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerViewContent.cs index 1cb8873806..73689dee4b 100644 --- a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerViewContent.cs +++ b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerViewContent.cs @@ -132,9 +132,7 @@ namespace ICSharpCode.FormsDesigner designerResourceService.Host = Host; DesignerLoader designerLoader = loaderProvider.CreateLoader(generator); - TypeResolutionService.AddAssemblyResolver(); designSurface.BeginLoad(designerLoader); - TypeResolutionService.RemoveAssemblyResolver(); generator.Attach(this); diff --git a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Gui/CustomComponentsSideTab.cs b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Gui/CustomComponentsSideTab.cs index 58069b8ebb..52344e4b23 100644 --- a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Gui/CustomComponentsSideTab.cs +++ b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Gui/CustomComponentsSideTab.cs @@ -110,23 +110,13 @@ namespace ICSharpCode.FormsDesigner.Gui protected override IComponent[] CreateComponentsCore(IDesignerHost host) { Init(); - TypeResolutionService.AddAssemblyResolver(); - try { - return base.CreateComponentsCore(host); - } finally { - TypeResolutionService.RemoveAssemblyResolver(); - } + return base.CreateComponentsCore(host); } protected override IComponent[] CreateComponentsCore(IDesignerHost host, System.Collections.IDictionary defaultValues) { Init(); - TypeResolutionService.AddAssemblyResolver(); - try { - return base.CreateComponentsCore(host, defaultValues); - } finally { - TypeResolutionService.RemoveAssemblyResolver(); - } + return base.CreateComponentsCore(host, defaultValues); } } } diff --git a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Services/TypeResolutionService.cs b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Services/TypeResolutionService.cs index dc1b6a36ce..d1505b6591 100644 --- a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Services/TypeResolutionService.cs +++ b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Services/TypeResolutionService.cs @@ -44,6 +44,9 @@ namespace ICSharpCode.FormsDesigner.Services DesignerAssemblies.Add(ProjectContentRegistry.SystemAssembly); DesignerAssemblies.Add(typeof(System.Drawing.Point).Assembly); DesignerAssemblies.Add(typeof(System.Windows.Forms.Design.AnchorEditor).Assembly); + RegisterVSDesignerWorkaround(); + AppDomain.CurrentDomain.AssemblyResolve += AssemblyResolveEventHandler; + } [System.Runtime.InteropServices.DllImport("kernel32.dll")] @@ -224,15 +227,6 @@ namespace ICSharpCode.FormsDesigner.Services } } - AddAssemblyResolver(); - try { - asm.GetTypes(); // force loading references etc. - } catch { - // some assemblies cause strange exceptions in Reflection... - } finally { - RemoveAssemblyResolver(); - } - lock (designerAssemblies) { if (!designerAssemblies.Contains(asm)) designerAssemblies.Insert(0, asm); @@ -427,17 +421,6 @@ namespace ICSharpCode.FormsDesigner.Services } #endregion - public static void AddAssemblyResolver() - { - RegisterVSDesignerWorkaround(); - AppDomain.CurrentDomain.AssemblyResolve += AssemblyResolveEventHandler; - } - - public static void RemoveAssemblyResolver() - { - AppDomain.CurrentDomain.AssemblyResolve -= AssemblyResolveEventHandler; - } - static Assembly AssemblyResolveEventHandler(object sender, ResolveEventArgs args) { LoggingService.Debug("TypeResolutionService: AssemblyResolveEventHandler: " + args.Name);