public static string GetFullPath(this ProjectConfigurationInfo configInfo, SourceFolder folder)
 => Path.Combine(Path.GetDirectoryName(configInfo.Filepath), folder.Subpath);
 public static string GetFullPath(this ProjectConfigurationInfo configInfo, SourceKind kind)
 => configInfo.GetFullPath(configInfo.Configuration.GetSourceFolder(kind));
 public static void WriteFile(this ProjectConfigurationInfo configInfo)
 {
     using var stream = File.OpenWrite(configInfo.Filepath);
     configInfo.Configuration.Serialize(stream);
 }
 public static DirectoryInfo GetDirectoryInfoFor(this ProjectConfigurationInfo configInfo, SourceFolder folder)
 => new DirectoryInfo(configInfo.GetFullPath(folder));
 public static string GetFilename(this ProjectConfigurationInfo configInfo)
 => Path.GetFileName(configInfo.Filepath);
 public static DirectoryInfo GetDirectoryInfo(this ProjectConfigurationInfo configInfo)
 => new DirectoryInfo(Path.GetDirectoryName(configInfo.Filepath));