public static string FindProjectFile()

in src/Cli/func/Helpers/ProjectHelpers.cs [33:75]


        public static string FindProjectFile(string path, LoggingFilterHelper loggingFilterHelper = null, LoggerFilterOptions loggerFilterOptions = null)
        {
            ColoredConsoleLogger logger = null;
            if (loggingFilterHelper != null && loggerFilterOptions != null)
            {
                logger = new ColoredConsoleLogger("ProjectHelpers", loggingFilterHelper, loggerFilterOptions);
            }

            bool shouldLog = logger != null;

            DirectoryInfo filePath = new DirectoryInfo(path);
            do
            {
                var projectFiles = filePath.GetFiles("*.csproj");
                if (projectFiles.Any())
                {
                    foreach (FileInfo file in projectFiles)
                    {
                        if (string.Equals(file.Name, Constants.ExtensionsCsProjFile, StringComparison.OrdinalIgnoreCase))
                        {
                            continue;
                        }

                        if (shouldLog)
                        {
                            logger.LogDebug($"Found {file.FullName}. Using for user secrets file configuration.");
                        }

                        return file.FullName;
                    }
                }

                filePath = filePath.Parent;
            }
            while (filePath.FullName != filePath.Root.FullName);

            if (shouldLog)
            {
                logger.LogDebug($"Csproj not found in {path} directory tree. Skipping user secrets file configuration.");
            }

            return null;
        }