From d280cd460b4457e8797014369829918f802d99a4 Mon Sep 17 00:00:00 2001 From: jfrijters Date: Fri, 2 Nov 2007 05:11:47 +0000 Subject: [PATCH] Fixed AppDomainAssemblyClassLoader to ignore AssemblyBuilders. --- runtime/common.cs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/runtime/common.cs b/runtime/common.cs index 1cc16ee0..e1c7dce4 100644 --- a/runtime/common.cs +++ b/runtime/common.cs @@ -535,12 +535,30 @@ namespace IKVM.NativeCode.ikvm.runtime { public static object loadClassFromAssembly(Assembly asm, string className) { + if(asm is System.Reflection.Emit.AssemblyBuilder) + { + return null; + } + if(asm.Equals(DynamicClassLoader.Instance.ModuleBuilder.Assembly)) + { + // this can happen on Orcas, where an AssemblyBuilder has a corresponding Assembly + return null; + } TypeWrapper tw = ClassLoaderWrapper.GetAssemblyClassLoader(asm).DoLoad(className); return tw != null ? tw.ClassObject : null; } public static bool findResourceInAssembly(Assembly asm, string resourceName) { + if(asm is System.Reflection.Emit.AssemblyBuilder) + { + return false; + } + if(asm.Equals(DynamicClassLoader.Instance.ModuleBuilder.Assembly)) + { + // this can happen on Orcas, where an AssemblyBuilder has a corresponding Assembly + return false; + } return asm.GetManifestResourceInfo(JVM.MangleResourceName(resourceName)) != null; } }