anchor.diff:      let open3 = "--open Microsoft.FSharp.Compiler"
   
       // dotnet restore
  -    runCmdIn "." "dotnet" "restore -v Information"
  +    run "dotnet" "restore -v Information"
   
       // run tools
  -    let run exe = runCmdIn "src/fsharp/FSharp.Compiler.Service/" exe
  -    let fsLex fslFilePath outFilePath = run "lib/bootstrap/4.0/fslex.exe" @"%s --unicode %s -o %s" fslFilePath lexArgs outFilePath
  -    let fsYacc = run "lib/bootstrap/4.0/fsyacc.exe"
  -
  -    run "dotnet" "fssrgen ../FSComp.txt ./FSComp.fs ./FSComp.resx"
  -    run "dotnet" "fssrgen ../fsi/FSIstrings.txt ./FSIstrings.fs ./FSIstrings.resx"
  +    let runInDir exe = runCmdIn "src/fsharp/FSharp.Compiler.Service/" exe
  +    let fsLex fslFilePath outFilePath = runInDir "lib/bootstrap/4.0/fslex.exe" @"%s --unicode %s -o %s" fslFilePath lexArgs outFilePath
  +    let fsYacc = runInDir "lib/bootstrap/4.0/fsyacc.exe"
  +
  +    runInDir "dotnet" "fssrgen ../FSComp.txt ./FSComp.fs ./FSComp.resx"
  +    runInDir "dotnet" "fssrgen ../fsi/FSIstrings.txt ./FSIstrings.fs ./FSIstrings.resx"
       fsLex "../lex.fsl" "lex.fs"
       fsLex "../pplex.fsl" "pplex.fs"
       fsLex "../../absil/illex.fsl" "illex.fs"
  
positive.code:     fsYacc "../pppars.fsy %s %s %s %s -o pppars.fs" lexArgs yaccArgs module3 open3
  )
  
  Target "DotnetCoreBuild" (fun _ ->
      let run exe = runCmdIn @"src/fsharp/FSharp.Compiler.Service/" exe
      run "dotnet" "-v pack -c Release"
      
      let run exe = runCmdIn @"src/fsharp/FSharp.Compiler.Service.ProjectCracker/" exe
      run "dotnet" "-v pack -c Release"
      
      let run exe = runCmdIn @"src/fsharp/FSharp.Compiler.Service.ProjectCrackerTool/" exe
      run "dotnet" "-v pack -c Release"
  )
  
  Target "DotnetCoreTests" (fun _ ->
      let run exe = runCmdIn @"tests/FSharp.Compiler.Service.Tests/" exe
      run "dotnet" "-v run -c Release"
  )
  
  //use dotnet-mergenupkg to merge the .netcore nuget package into the default one
  
negative.code:     let netcoreNupkg = sprintf "src/fsharp/%s/bin/Release/%s/%s.%s.nupkg" packageName netcoreTFM packageName (release.AssemblyVersion)
  
      //dotnet-mergenupkg is in the FSharp.Compiler.Service project.json
      let runInDir exe = runCmdIn @"src/fsharp/FSharp.Compiler.Service/" exe
      runInDir "dotnet" """mergenupkg --source "%s" --other "%s" --framework %s """ (System.IO.Path.GetFullPath nupkg) (System.IO.Path.GetFullPath netcoreNupkg) netcoreTFM
  
  Target "Nuget.AddNetCore" (fun _ ->
      mergePackage "FSharp.Compiler.Service" "netstandard1.6"
      mergePackage "FSharp.Compiler.Service.ProjectCracker" "netstandard1.6"
      mergePackage "FSharp.Compiler.Service.ProjectCrackerTool" "netcoreapp1.0"
  