diff --git a/src/tasks/MonoTargetsTasks/MarshalingPInvokeScanner/MarshalingPInvokeScanner.cs b/src/tasks/MonoTargetsTasks/MarshalingPInvokeScanner/MarshalingPInvokeScanner.cs index de5e6e3762fdf7..850d3c787b50d1 100644 --- a/src/tasks/MonoTargetsTasks/MarshalingPInvokeScanner/MarshalingPInvokeScanner.cs +++ b/src/tasks/MonoTargetsTasks/MarshalingPInvokeScanner/MarshalingPInvokeScanner.cs @@ -106,6 +106,10 @@ private bool IsAssemblyIncompatible(string assyPath, MinimalMarshalingTypeCompat { using FileStream file = new FileStream(assyPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); using PEReader peReader = new PEReader(file); + if (!peReader.HasMetadata) + { + return false; + } MetadataReader mdtReader = peReader.GetMetadataReader(); foreach(CustomAttributeHandle attrHandle in mdtReader.CustomAttributes)