Use fallback load context as binding context for dynamic parent assembly
authorGaurav Khanna <gkhanna@microsoft.com>
Fri, 3 Feb 2017 23:43:15 +0000 (15:43 -0800)
committerGaurav Khanna <gkhanna@microsoft.com>
Fri, 3 Feb 2017 23:43:15 +0000 (15:43 -0800)
src/vm/assemblyspec.cpp

index 2b4b1fb..b9e94e8 100644 (file)
@@ -1256,6 +1256,15 @@ ICLRPrivBinder* AssemblySpec::GetBindingContextFromParentAssembly(AppDomain *pDo
         
         // ICLRPrivAssembly implements ICLRPrivBinder and thus, "is a" binder in a manner of semantics.
         pParentAssemblyBinder = pParentPEAssembly->GetBindingContext();
+        if (pParentAssemblyBinder == NULL)
+        {
+            if (pParentPEAssembly->IsDynamic())
+            {
+                // If the parent assembly is dynamically generated, then use its fallback load context
+                // as the binder.
+                pParentAssemblyBinder = pParentPEAssembly->GetFallbackLoadContextBinder();
+            }
+        }
     }
 
 #if defined(FEATURE_HOST_ASSEMBLY_RESOLVER)