anchor.diff:      for ext in exts do
           let prefix = sprintf "%s.%s%s-" publisher ext repl.IdPostfix
           let vsixFile =
  -           !! (sprintf "%s*.vsix" prefix)
  +           !! (artifactsDir </> "vsix" </> sprintf "%s*.vsix" prefix)
              |> Seq.filter (fun file -> 
                   let name = Path.GetFileName(file)
                   not <| name.Substring(prefix.Length).Contains("-"))
  
positive.code:     |> Seq.concat
      |> Zip.zipSpec targetName
  
      Shell.cp (artifactsDir </> "tasks.zip") (artifactsDir </> "tasks_upload.zip")
      Trace.publish ImportData.BuildArtifact (artifactsDir </> "tasks_upload.zip")
  )
  
  Target.create "RestoreArtifacts" (fun _ ->
      Shell.cleanDir "temp"
      Zip.unzip "temp" (artifactsDir </> "tasks.zip")
  
  )
  let replaceTaskJsons () =
      // fixup task-ids:
  
negative.code: 
  Target.create "Publish" (fun _ ->
      let token =
          match getVarOrDefault "vsts-token" "none" with
          | "none" ->
              match getVarOrDefault "VSTS_TOKEN" "none" with
              | "none" -> failwithf "need 'VSTS_TOKEN' to publish"
              | t -> t
          | tok -> tok
      let publishPrivate = Boolean.Parse(getVarOrDefault "publishPrivate" "false")
  
      let repl =
          if publishPrivate
  