anchor.diff:          if trials > 0 then publish (trials - 1) parameters packageFile 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 (packageFile:string) =
  +    let tracing = enableProcessTracing
  +    enableProcessTracing <- false
  +    let args = sprintf "push -source %s \"%s\" %s" parameters.PublishUrl (packageFile.Replace(".nupkg",".symbols.nupkg")  ) parameters.AccessKey
  +
  +    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 publishSymbols (trials - 1) parameters packageFile else
  +        failwithf "Error during NuGet symbol push. %s %s" parameters.ToolPath args     
  +
   let private runNuget parameters nuSpec =
       // create .nuspec file
       CopyFile parameters.OutputPath nuSpec
   
  -    let specFile = parameters.OutputPath @@ (nuSpec |> Path.GetFileName)
  +    let specFile = parameters.OutputPath @@ (Path.GetFileName nuSpec)
       let packageFile = sprintf "%s.%s.nupkg" parameters.Project parameters.Version
       let dependencies =
           if parameters.Dependencies = [] then "" else
  
positive.code: 
  let private replaceAccessKey key (s:string) = s.Replace(key,"PRIVATEKEY")
  
  // push package (and try again if something fails)
  let rec publish trials parameters packageFile =
      let tracing = enableProcessTracing
      enableProcessTracing <- false
      let source = if isNullOrEmpty parameters.PublishUrl then "" else sprintf "-s %s" parameters.PublishUrl
  
negative.code:         if result <> 0 then failwithf "Error during NuGet symbols creation. %s %s" parameters.ToolPath args
          parameters.OutputPath @@ packageFile |> DeleteFile
  
      pack parameters specFile
                 
      if parameters.Publish then 
          publish parameters.PublishTrials parameters packageFile 
          if parameters.ProjectFile <> null then 
              publishSymbols parameters.PublishTrials parameters packageFile
          
  /// Creates a new NuGet package   
  let NuGet setParams nuSpec =
  