public static IEnumerable <AssemblyDefinition> ResolveAssemblyReferences(IAssemblyResolver resolver, IEnumerable <AssemblyNameReference> assemblyReferences) { return(from reference in assemblyReferences select MonoAssemblyStripping.ResolveAssemblyReference(resolver, reference) into a where a != null select a); }
public static IEnumerable <AssemblyDefinition> CollectAllAssemblies(string librariesFolder, RuntimeClassRegistry usedClasses) { DefaultAssemblyResolver resolver = new DefaultAssemblyResolver(); resolver.RemoveSearchDirectory("."); resolver.RemoveSearchDirectory("bin"); resolver.AddSearchDirectory(librariesFolder); IEnumerable <AssemblyNameReference> source = from s in usedClasses.GetUserAssemblies() where usedClasses.IsDLLUsed(s) select s into file select AssemblyNameReference.Parse(Path.GetFileNameWithoutExtension(file)); return(MonoAssemblyStripping.CollectAssembliesRecursive(from dll in source select MonoAssemblyStripping.ResolveAssemblyReference(resolver, dll) into a where a != null select a)); }