anchor.diff:  "Clean" ==> "Pack"
   "Build" ==> "Examples" ==> "Pack"
   "Build" ==> "Examples" ==> "RunTests" ==> "Pack"
  +"Build" ==> "Examples" ==> "RunTests" ==> "Pack" ==> "TestTemplatesNuGet"
   
  -RunTargetOrDefault "RunTests"
  +RunTargetOrDefault "Pack"
  
positive.code: )
  
  Target "Pack" (fun _ ->
      DotNetCli.Pack  (fun p -> { p with Configuration = config; 
                                         Project = "src/FSharp.TypeProviders.SDK.fsproj"; 
                                         ToolPath =  getSdkPath(); OutputPath = outputPath; 
  
negative.code:     // Globally install the templates from the template nuget package we just built
      DotNetCli.RunCommand id ("new -i " + outputPath + "/FSharp.TypeProviders.Templates." + release.NugetVersion + ".nupkg")
  
      // Instantiate the template into a randomly generated name
      let testAppName = "tp2" + string (abs (hash System.DateTime.Now.Ticks) % 100)
      CleanDir testAppName
      DotNetCli.RunCommand id (sprintf "new typeprovider -n %s -lang F#" testAppName)
  
      let pkgs = Path.GetFullPath(outputPath)
  
      // NOTE: when restoring this won't use the local version of TPSDK but the one in github.  Perhaps we can use
      // this local repo as a source for the paket update, or remove the use of paket in the template
      execIn testAppName ".paket/paket.exe" "update"
      
      DotNetCli.RunCommand (fun p -> { p with  WorkingDir=testAppName }) (sprintf "build -c debug")
      DotNetCli.RunCommand (fun p -> { p with  WorkingDir=testAppName }) (sprintf "test -c debug")
  
  