private IEnumerable <string> ResolveReferences(IEnumerable <string> folders, char referenceOption) { foreach (string referenceFolder in folders) { foreach (string reference in ComputeManagedAssemblies.GetManagedAssembliesInFolder(referenceFolder)) { string simpleName = Path.GetFileNameWithoutExtension(reference); if (!FrameworkExclusion.Exclude(simpleName, Index, out string reason)) { yield return($"-{referenceOption}:{reference}"); } } } }
public static bool Exclude(string simpleName, CompilerIndex index, out string reason) { FrameworkExclusion exclusion = Find(simpleName); if (exclusion != null && (exclusion.ExclusionType == ExclusionType.Ignore || exclusion.ExclusionType == ExclusionType.DontCrossgen2 && index == CompilerIndex.CPAOT)) { reason = exclusion.Reason; return(true); } else { reason = null; return(false); } }