anchor.diff:    set Target=BuildAndTest
   )
   
  -msbuild %MSBuildAdditionalCommandLineArgs% /p:BootstrapBuildPath=%RoslynRoot%Binaries\Bootstrap BuildAndTest.proj /t:%Target% /p:Configuration=%BuildConfiguration% /p:Test64=%Test64%
  -if ERRORLEVEL 1 (
  -    taskkill /F /IM vbcscompiler.exe
  -    echo Build failed
  -    exit /b 1
  -)
  +msbuild %MSBuildAdditionalCommandLineArgs% /p:BootstrapBuildPath=%RoslynRoot%Binaries\Bootstrap BuildAndTest.proj /t:%Target% /p:Configuration=%BuildConfiguration% /p:Test64=%Test64% || goto :BuildFailed
   
  -REM Kill any instances of VBCSCompiler.exe to release locked files;
  -REM otherwise future CI runs may fail while trying to delete those files.
  -taskkill /F /IM vbcscompiler.exe
  +call :TerminateCompilerServer
   
   REM Verify that our project.lock.json files didn't change as a result of 
   REM restore.  If they do then the commit changed the dependencies without 
  
positive.code:   )
  )
  
  call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\VsDevCmd.bat"
  
  REM Restore the NuGet packages 
  if "%BuildRestore%" == "true" (
      call "%RoslynRoot%\Restore.cmd"
  ) else (
      powershell -noprofile -executionPolicy RemoteSigned -command "%RoslynRoot%\build\scripts\restore.ps1 %NugetZipUrl%"
  )
  
  REM Set the build version only so the assembly version is set to the semantic version,
  REM which allows analyzers to laod because the compiler has binding redirects to the
  REM semantic version
  msbuild %MSBuildAdditionalCommandLineArgs% /p:BuildVersion=0.0.0.0 %RoslynRoot%build/Toolset.sln /p:NuGetRestorePackages=false /p:Configuration=%BuildConfiguration%
  
  mkdir %RoslynRoot%Binaries\Bootstrap
  move Binaries\%BuildConfiguration%\* %RoslynRoot%Binaries\Bootstrap
  copy build\scripts\* %RoslynRoot%Binaries\Bootstrap
  
  REM Clean the previous build
  msbuild %MSBuildAdditionalCommandLineArgs% /t:Clean build/Toolset.sln /p:Configuration=%BuildConfiguration%
  taskkill /F /IM vbcscompiler.exe
  
  if defined Perf (
    set Target=Build
  
negative.code: @echo            with /release. May not be combined with /test32 or /test64.
  @echo.
  @goto :eof
  
  :BuildFailed
  echo Build failed with ERRORLEVEL %ERRORLEVEL%
  call :TerminateCompilerServer
  exit /b 1
  
  :TerminateCompilerServer
  @REM Kill any instances VBCSCompiler.exe to release locked files, ignoring stderr if process is not open
  @REM This prevents future CI runs from failing hile trying to delete those files.
  
  taskkill /F /IM vbcscompiler.exe 2> nul