public bool AssemblyExists(AssemblyName assemblyName) { if (isArchive) { return(ImageBuilderUtility.IsAnyInArchive(this.DirectoryOrArchivePath, new string[] { string.Format(CultureInfo.InvariantCulture, "{0}.exe", assemblyName.Name), string.Format(CultureInfo.InvariantCulture, "{0}.dll", assemblyName.Name) })); } else { string searchPattern = string.Format(CultureInfo.InvariantCulture, "{0}.*", assemblyName.Name); var matchingFiles = Directory.EnumerateFiles(this.DirectoryOrArchivePath, searchPattern, SearchOption.AllDirectories); int count = matchingFiles.Count(file => ImageBuilderUtility.Equals(Path.GetExtension(file), ".exe") || ImageBuilderUtility.Equals(Path.GetExtension(file), ".dll")); return(count > 0); } }