diff --git a/src/BenchmarkDotNet/Toolchains/DotNetCli/DotNetCliGenerator.cs b/src/BenchmarkDotNet/Toolchains/DotNetCli/DotNetCliGenerator.cs index 47ff074fc3..a432fbf881 100644 --- a/src/BenchmarkDotNet/Toolchains/DotNetCli/DotNetCliGenerator.cs +++ b/src/BenchmarkDotNet/Toolchains/DotNetCli/DotNetCliGenerator.cs @@ -61,17 +61,25 @@ internal static bool GetProjectRootDirectory(out DirectoryInfo directoryInfo) return GetRootDirectory(IsRootProjectFolder, out directoryInfo); } - internal static bool GetRootDirectory(Func condition, out DirectoryInfo directoryInfo) + internal static bool GetRootDirectory(Func condition, out DirectoryInfo? directoryInfo) { - directoryInfo = new DirectoryInfo(Directory.GetCurrentDirectory()); - while (directoryInfo != null) + directoryInfo = null; + try { - if (condition(directoryInfo)) + directoryInfo = new DirectoryInfo(Directory.GetCurrentDirectory()); + while (directoryInfo != null) { - return true; - } + if (condition(directoryInfo)) + { + return true; + } - directoryInfo = directoryInfo.Parent; + directoryInfo = directoryInfo.Parent; + } + } + catch + { + return false; } return false;