private FileInfo[] FindFilesExcludingDuplicates(string startDir)
{
//if a file, then return
var tmp = new FileInfo(startDir);
if( tmp.Exists )
{
return new[]{tmp};
}
var found = new DirectoryInfo(startDir)
.GetFiles("*.dll", SearchOption.AllDirectories);
var valid = new List<FileInfo>();
foreach (var fileInfo in found)
if (!fileInfo.Directory.FullName.Contains("\\obj\\") && ! FoundAssemblyFiles.Contains(fileInfo))
valid.Add(fileInfo);
return valid.ToArray();
}