diff --git a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Services/TypeDiscoveryService.cs b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Services/TypeDiscoveryService.cs index d10d821fe5..3f2c0ce045 100644 --- a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Services/TypeDiscoveryService.cs +++ b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Services/TypeDiscoveryService.cs @@ -9,6 +9,7 @@ using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel.Design; +using System.IO; using System.Reflection; using ICSharpCode.Core; @@ -48,7 +49,13 @@ namespace ICSharpCode.FormsDesigner.Services continue; } } - AddDerivedTypes(baseType, asm, types); + try { + AddDerivedTypes(baseType, asm, types); + } catch (FileNotFoundException) { + } catch (FileLoadException) { + } catch (BadImageFormatException) { + // ignore assembly load errors + } } LoggingService.Debug("TypeDiscoveryService returns " + types.Count + " types"); diff --git a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Services/TypeResolutionService.cs b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Services/TypeResolutionService.cs index 7888d489b5..cbc7eed10a 100644 --- a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Services/TypeResolutionService.cs +++ b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Services/TypeResolutionService.cs @@ -417,9 +417,15 @@ namespace ICSharpCode.FormsDesigner.Services if (type == null) { lock (designerAssemblies) { foreach (Assembly asm in DesignerAssemblies) { - Type t = asm.GetType(name, false); - if (t != null) { - return t; + try { + Type t = asm.GetType(name, false); + if (t != null) { + return t; + } + } catch (FileNotFoundException) { + } catch (FileLoadException) { + } catch (BadImageFormatException) { + // ignore assembly load errors } } }