anchor.diff:          |> appendIfNotNull testResultsFile "/resultsfile:"
   
       cl.ToString()
  +
   
   /// Runs MSTest command line tool on a group of assemblies.
   /// ## Parameters
  
positive.code: /// ## Sample usage
  ///
  ///     Target "Test" (fun _ ->
  ///         !! (testDir + @"\Test.*.dll") 
  ///           |> MSTest (fun p -> { p with Category = "group1" })
  ///     )
  let MSTest (setParams: MSTestParams -> MSTestParams) (assemblies: string seq) =
      let details = assemblies |> separated ", "
      traceStartTask "MSTest" details
      trace ("Hello from MSTest" @@ details)
      let parameters = MSTestDefaults |> setParams
                
      let assemblies =  assemblies |> Seq.toArray
  
      if Array.isEmpty assemblies then
          failwith "MSTest: cannot run tests (the assembly list is empty)."
  
      let tool = toolPath()
  
      for assembly in assemblies do
          let args = commandLineBuilder parameters assembly
          let exitCode = execProcessAndReturnExitCode (fun info ->  
              info.FileName <- tool
              info.WorkingDirectory <- parameters.WorkingDir
              info.Arguments <- args) parameters.TimeOut
          trace ("exit code: " + exitCode.ToString())
      
      traceEndTask "MSTest" details
  
negative.code:             sprintf @"%s\%s.trx" parameters.ResultsDir (DateTime.Now.ToString("yyyyMMdd-HHmmss.ff"))
          else 
              null
  
      let cl = 
          new StringBuilder()
          |> appendIfNotNull assembly "/testcontainer:"
  