зеркало из https://github.com/mono/ikvm-fork.git
Fixed AppDomainAssemblyClassLoader to ignore AssemblyBuilders.
This commit is contained in:
Родитель
42f0aba28d
Коммит
d280cd460b
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче