anchor.diff:              info.Arguments <- args) parameters.TimeOut
                  
       if result <> 0 then failwithf "Error during NuGet creation. %s %s" parameters.ToolPath args
  -
  -    // push package (and try again if something fails)
  -    let rec publish trials =
  -        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" packageFile parameters.AccessKey source
  -
  -        if tracing then 
  -            args
  -                |> replaceAccessKey parameters.AccessKey
  -                |> tracefn "%s %s" parameters.ToolPath 
  -
  -        let result = 
  -            ExecProcess (fun info ->
  -                info.FileName <- parameters.ToolPath
  -                info.WorkingDirectory <- parameters.OutputPath |> FullName
  -                info.Arguments <- args) parameters.TimeOut
  -        
  -        enableProcessTracing <- tracing
  -        if result <> 0 then 
  -            if trials > 0 then publish (trials - 1) else
  -            failwithf "Error during NuGet push. %s %s" parameters.ToolPath args
               
       let symbolsPackage = packageFile.Replace(".nupkg",".symbols.nupkg")
   
  
positive.code: 
  let private replaceAccessKey key (s:string) = s.Replace(key,"PRIVATEKEY")
  
  let private runNuget parameters nuSpec =
      // create .nuspec file
      CopyFile parameters.OutputPath nuSpec
  
negative.code:             failwithf "Error during NuGet symbol push. %s %s" parameters.ToolPath args                            
              
      if parameters.Publish then 
          publish parameters.PublishTrials parameters packageFile 
          if parameters.ProjectFile <> null then publishSymbols parameters.PublishTrials
          
  /// Creates a new NuGet package   
  