anchor.diff:      /// Platform name set on Build tab of project settings (or through platform parameter in appveyor.yml).
       static member Platform = environVar "PLATFORM"
   
  -    /// Configuration name set on Build tab of project settings (or through configuration parameter in appveyor.yml).  
  +    /// Configuration name set on Build tab of project settings (or through configuration parameter in appveyor.yml).
       static member Configuration  = environVar "CONFIGURATION"
   
       /// The job name
       static member JobName = environVar "APPVEYOR_JOB_NAME"
  -    
  -let private sendToAppVeyor args = 
  -    ExecProcess (fun info -> 
  +
  +let private sendToAppVeyor args =
  +    ExecProcess (fun info ->
           info.FileName <- "appveyor"
           info.Arguments <- args) (System.TimeSpan.MaxValue)
       |> ignore
   
  -let private add msg category = 
  -    sprintf "AddMessage %s -Category %s" (quoteIfNeeded msg) (quoteIfNeeded category) |> sendToAppVeyor
  +let private add msg category =
  +    if not <| isNullOrEmpty msg then
  +        let enableProcessTracingPreviousValue = enableProcessTracing
  +        enableProcessTracing <- false
  +        sprintf "AddMessage %s -Category %s" (quoteIfNeeded msg) (quoteIfNeeded category) |> sendToAppVeyor
  +        enableProcessTracing <- enableProcessTracingPreviousValue
   let private addNoCategory msg = sprintf "AddMessage %s" (quoteIfNeeded msg) |> sendToAppVeyor
   
   // Add trace listener to track messages
  -if buildServer = BuildServer.AppVeyor then 
  +if buildServer = BuildServer.AppVeyor then
       { new ITraceListener with
  -          member this.Write msg = 
  +          member this.Write msg =
                 match msg with
                 | ErrorMessage x -> add x "Error"
                 | ImportantMessage x -> add x "Warning"
                 | LogMessage(x, _) -> add x "Information"
  -              | TraceMessage(x, _) -> 
  +              | TraceMessage(x, _) ->
                     if not enableProcessTracing then addNoCategory x
                 | StartMessage | FinishedMessage | OpenTag(_, _) | CloseTag _ -> () }
       |> listeners.Add
  
positive.code: let StartTestSuite testSuiteName = () // Nothing in API yet
  
  /// Starts the test case.
  let StartTestCase testSuiteName testCaseName = 
      sendToAppVeyor <| sprintf "AddTest \"%s\" -Outcome Running" (testSuiteName + " - " + testCaseName)
  
  /// Reports a failed test.
  let TestFailed testSuiteName testCaseName message details = 
      sendToAppVeyor <| sprintf "UpdateTest \"%s\" -Outcome Failed -ErrorMessage %s -ErrorStackTrace %s" (testSuiteName + " - " + testCaseName)
          (EncapsulateSpecialChars message) (EncapsulateSpecialChars details)
  
  /// Ignores the test case.      
  let IgnoreTestCase testSuiteName testCaseName message = sendToAppVeyor <| sprintf "UpdateTest \"%s\" -Outcome Ignored" (testSuiteName + " - " + testCaseName)
  
  /// Reports a succeeded test.
  let TestSucceeded testSuiteName testCaseName = sendToAppVeyor <| sprintf "UpdateTest \"%s\" -Outcome Passed" (testSuiteName + " - " + testCaseName)
  
  /// Finishes the test case.
  let FinishTestCase testSuiteName testCaseName (duration : System.TimeSpan) = 
      let duration = 
          duration.TotalMilliseconds
          |> round
          |> string
  
negative.code:     if buildServer = BuildServer.AppVeyor then
          let parameters = setParams defaultUpdateBuildParams
  
          let committedStr =
              match parameters.Committed with
              | Some x -> x.ToString("o")
              | None -> ""
  