private ReplicaInfoBuilder(bool useFQDN)
 {
     environment   = "default";
     application   = EnvironmentInfo.Application;
     host          = useFQDN ? EnvironmentInfo.FQDN : EnvironmentInfo.Host;
     processName   = EnvironmentInfo.ProcessName;
     processId     = EnvironmentInfo.ProcessId;
     baseDirectory = EnvironmentInfo.BaseDirectory;
     commitHash    = AssemblyCommitHashExtractor.ExtractFromEntryAssembly();
     releaseDate   = AssemblyBuildTimeExtractor.ExtractFromEntryAssembly()?.ToString("O");
     dependencies  = AssemblyDependenciesExtractor.ExtractFromEntryAssembly();
 }
 public object Query() =>
 AppDomain.CurrentDomain
 .GetAssemblies()
 .Where(assembly => !assembly.IsDynamic)
 .OrderBy(assembly => assembly.GetName().Name, StringComparer.OrdinalIgnoreCase)
 .Select(assembly => new
 {
     assembly.GetName().Name,
     assembly.GetName().Version,
     CommitHash     = AssemblyCommitHashExtractor.ExtractFromAssembly(assembly),
     BuildTimestamp = AssemblyBuildTimeExtractor.ExtractFromAssembly(assembly)?.ToString("u")
 })
 .ToArray();
 public static void ExtractFromAssembly_by_path_should_be_not_null()
 => AssemblyBuildTimeExtractor.ExtractFromAssembly(
     Assembly.GetAssembly(typeof(AssemblyCommitHashExtractor)).Location)
 .Should()
 .NotBeNull();