diff options
-rw-r--r-- | csharp/src/Ice/AssemblyUtil.cs | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/csharp/src/Ice/AssemblyUtil.cs b/csharp/src/Ice/AssemblyUtil.cs index 454fde42b1b..04d8828074c 100644 --- a/csharp/src/Ice/AssemblyUtil.cs +++ b/csharp/src/Ice/AssemblyUtil.cs @@ -170,14 +170,21 @@ namespace IceInternal loadAssemblies(); // Lazy initialization foreach(Assembly a in _loadedAssemblies.Values) { - Type[] types = a.GetTypes(); - foreach(Type t in types) + try { - if(t.AssemblyQualifiedName.IndexOf(prefix, StringComparison.Ordinal) == 0) + Type[] types = a.GetTypes(); + foreach(Type t in types) { - l.AddLast(t); + if(t.AssemblyQualifiedName.IndexOf(prefix, StringComparison.Ordinal) == 0) + { + l.AddLast(t); + } } } + catch(ReflectionTypeLoadException) + { + // Failed to load types from the assembly, ignore and continue + } } } |