diff --git a/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/RootingHelpers.cs b/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/RootingHelpers.cs index ffd286cce759f2..ce222b1334e874 100644 --- a/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/RootingHelpers.cs +++ b/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/RootingHelpers.cs @@ -227,6 +227,16 @@ public static bool TryGetDependenciesForReflectedField(ref DependencyList depend ((MetadataType)owningType).MakeInstantiatedType(inst)); } + try + { + // Make sure we're not putting something into the graph that will crash later. + factory.TypeSystemContext.EnsureLoadableType(field.FieldType); + } + catch (TypeSystemException) + { + return false; + } + dependencies.Add(factory.ReflectedField(field), reason); return true;