anchor.diff:  /// <param name="total">The total runtime.</param>
   let WriteTaskTimeSummary total =
       traceHeader "Build Time Report"
  -    if ExecutedTargets.Count > 0 then
  -        let width =
  -            ExecutedTargetTimes
  -              |> Seq.map (fun (a,b) -> a.Length)
  -              |> Seq.max
  -              |> max 8
  -
  -        let aligned (name:string) duration = tracefn "%s   %O" (name.PadRight width) duration
  -        let alignedError (name:string) duration = sprintf "%s   %O" (name.PadRight width) duration |> traceError
  -
  -        aligned "Target" "Duration"
  -        aligned "------" "--------"
  -        ExecutedTargetTimes
  -          |> Seq.iter (fun (name,time) ->
  -                let t = getTarget name
  -                aligned t.Name time)
  -
  +
  +    let width = ExecutedTargetTimes
  +                |> Seq.map (fun (a,b) -> a.Length)
  +                |> Seq.append([CurrentTarget.Length])
  +                |> Seq.max
  +                |> max 8
  +
  +    let aligned (name:string) duration = tracefn "%s   %O" (name.PadRight width) duration
  +    let alignedError (name:string) duration = sprintf "%s   %O" (name.PadRight width) duration |> traceError
  +
  +    aligned "Target" "Duration"
  +    aligned "------" "--------"
  +
  +    ExecutedTargetTimes
  +        |> Seq.iter (fun (name,time) ->
  +            let t = getTarget name
  +            aligned t.Name time)
  +        
  +    if errors = [] && ExecutedTargetTimes.Count > 0 then 
           aligned "Total:" total
  -        if errors = [] then aligned "Status:" "Ok"
  -        else
  -            alignedError "Status:" "Failure"
  -            WriteErrors()
  +        traceLine()
  +        aligned "Status:" "Ok"
  +    else if ExecutedTargetTimes.Count > 0 then
  +        let failedTarget = getTarget CurrentTarget
  +        alignedError failedTarget.Name "Failure"
  +        aligned "Total:" total
  +        traceLine()
  +        alignedError "Status:" "Failure"
  +        traceLine()
  +        WriteErrors()
       else
  -        traceError "No target was successfully completed"
  +        let failedTarget = getTarget CurrentTarget
  +        alignedError failedTarget.Name "Failure"
  +        traceLine()
  +        alignedError "Status:" "Failure"
   
       traceLine()
   
  
positive.code:     try
          if errors = [] then
              traceStartTarget target.Name target.Description (dependencyString target)
              let watch = new System.Diagnostics.Stopwatch()
              watch.Start()
              target.Function()
              addExecutedTarget target.Name watch.Elapsed
              traceEndTarget target.Name
      with exn ->
          targetError target.Name exn
  
  
negative.code:     FinalTargets.Clear()
  
  let mutable CurrentTargetOrder = []
  let mutable CurrentTarget = ""
  
  /// Returns a list with all target names.
  let getAllTargetsNames() = TargetDict |> Seq.map (fun t -> t.Key) |> Seq.toList
  