anchor.diff:          
       enableProcessTracing <- tracing
       if result <> 0 then 
  -        if trials > 0 then publish (trials - 1) parameters else
  -        failwithf "Error during NuGet push. %s %s" parameters.ToolPath args
  +        if parameters.PublishTrials > 0 then 
  +            publish { parameters with PublishTrials = parameters.PublishTrials - 1 } 
  +        else
  +            failwithf "Error during NuGet push. %s %s" parameters.ToolPath args
   
   // push package to symbol server (and try again if something fails)
  -let rec private publishSymbols trials parameters =
  -    let packageFile = sprintf "%s.%s.symbols.nupkg" parameters.Project parameters.Version
  +let rec private publishSymbols parameters =
       let tracing = enableProcessTracing
       enableProcessTracing <- false
  -    let args = sprintf "push -source %s \"%s\" %s" parameters.PublishUrl packageFile parameters.AccessKey
  +    let args = sprintf "push -source %s \"%s\" %s" parameters.PublishUrl parameters.PackageFileName parameters.AccessKey
   
       if tracing then 
           args
  
positive.code:                 info.Arguments <- args) parameters.TimeOut
                 
          if result <> 0 then failwithf "Error during NuGet symbols creation. %s %s" parameters.ToolPath args
          parameters.OutputPath @@ packageFile |> DeleteFile
  
      specFile
  
  
negative.code:     if result <> 0 then failwithf "Error during NuGet creation. %s %s" parameters.ToolPath args
  
  // push package (and try again if something fails)
  let rec private publish parameters =
      let tracing = enableProcessTracing
      enableProcessTracing <- false
      let source = if isNullOrEmpty parameters.PublishUrl then "" else sprintf "-s %s" parameters.PublishUrl
      let args = sprintf "push \"%s\" %s %s" parameters.PackageFileName parameters.AccessKey source
  
      if tracing then 
          args
  