public static VersionFolder Parse(string FolderPath) { var ret = default(VersionFolder); var FolderName = System.IO.Path.GetFileName(FolderPath); if (FolderName.StartsWith(VersionFolderPrefix, StringComparison.InvariantCultureIgnoreCase)) { var PotentialVersion = FolderName.Substring(VersionFolderPrefix.Length); if (Version.TryParse(PotentialVersion, out var V1)) { ret = new VersionFolder(FolderPath, V1); } } return(ret); }
public static VersionFolder Find(string FolderPath) { var ret = default(VersionFolder); var PathToCheck = FolderPath; while (PathToCheck.IsNotNullOrEmpty() && ret == default) { try { if (VersionFolder.Parse(PathToCheck) is { } V1) { ret = V1; } else { PathToCheck = System.IO.Path.GetDirectoryName(PathToCheck); } } catch (Exception ex) {