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;
}