Получение списка файлов проекта, за исключением перечисленных в файле .ignore в корне проекта с использованием пакета Microsoft.Extensions.FileSystemGlobbing.
usingSystem;usingSystem.IO;usingSystem.Threading.Tasks;usingMicrosoft.Extensions.FileSystemGlobbing;usingMicrosoft.Extensions.FileSystemGlobbing.Abstractions;namespaceFS.Globing{classProgram{staticasyncTaskMain(string[]args){varbaseFolder=AppContext.BaseDirectory;varprojectFolder=Directory.GetParent(baseFolder).Parent.Parent.Parent.FullName;varignorePath=Path.Combine(projectFolder,".ignore");varignoreGlobs=awaitFile.ReadAllLinesAsync(ignorePath);// Create and configure the FileSystemGlobbing Matcher using the ignore globsvarmatcher=newMatcher(StringComparison.OrdinalIgnoreCase);matcher.AddInclude("**/*");matcher.AddExcludePatterns(ignoreGlobs);// Execute the matcher the directoryvarresult=matcher.Execute(newDirectoryInfoWrapper(newDirectoryInfo(projectFolder)));foreach(varfileinresult.Files)Console.WriteLine(file.Path);}}}