anchor.diff:  
   /// push package (and try again if something fails)
   let rec private publish parameters =
  -    let source =
  -        if isNullOrEmpty parameters.PublishUrl then ""
  -        else sprintf "-source %s" parameters.PublishUrl
  -
  -    let args = sprintf "push \"%s\" %s %s" (parameters.OutputPath @@ packageFileName parameters
  -                                            |> FullName) parameters.AccessKey source
  -    Trace.tracefn "%s %s in WorkingDir: %s Trials left: %d" parameters.ToolPath (replaceAccessKey parameters.AccessKey args)
  -        (FullName parameters.WorkingDir) parameters.PublishTrials
  +    // Newer NuGet requires source to be always specified, so if PublishUrl is empty,
  +    // ignore symbol source - the produced source is broken anyway.
  +    let normalize str = if isNullOrEmpty str then None else Some str
  +    let source = match parameters.PublishUrl |> normalize, parameters.SymbolPublishUrl |> normalize with
  +                 | None, _                     -> ""
  +                 | Some source, None           -> sprintf "-source %s" source
  +                 | Some source, Some symSource -> sprintf "-source %s -SymbolSource %s -SymbolApiKey %s"
  +                                                          source symSource parameters.SymbolAccessKey
  +
  +    let args = sprintf "push \"%s\" %s %s" (parameters.OutputPath @@ packageFileName parameters |> FullName)
  +                                           parameters.AccessKey source
  +    Trace.tracefn "%s %s in WorkingDir: %s Trials left: %d" parameters.ToolPath (replaceAccessKeys parameters args)
  +                                                            (FullName parameters.WorkingDir) parameters.PublishTrials
       try
           let result =
               let tracing = shouldEnableProcessTracing()
  
positive.code:       OutputPath : string
        PublishUrl : string
        AccessKey : string
        NoDefaultExcludes : bool
        NoPackageAnalysis : bool
        ProjectFile : string
  
negative.code:     with exn ->
          (if exn.InnerException <> null then exn.Message + "\r\n" + exn.InnerException.Message
           else exn.Message)
          |> replaceAccessKeys parameters
          |> failwith
  
  /// NuSpec metadata type
  