anchor.diff:  )
   
   
  +rem Always do this it installs the dotnet cli and publishes the LKG
  +rem ===============================================================
  +
   set DOTNET_HOME=.\packages\dotnet
   set _dotnetexe=.\packages\dotnet\dotnet.exe
  -if '%BUILD_CORECLR%' == '1' (
  -  rem check to see if the dotnet cli tool exists
  -  if not exist %_dotnetexe% (
  -    echo Error: Could not find %_dotnetexe%.
  -    rem do zipfile install nonsense
  -    if not exist packages ( md packages )
  -    if exist packages\dotnet ( rd packages /s /q )
  -    powershell.exe -executionpolicy unrestricted -command .\scripts\install-dotnetcli.ps1 https://dotnetcli.blob.core.windows.net/dotnet/beta/Binaries/Latest/dotnet-dev-win-x64.latest.zip packages
  -    @if ERRORLEVEL 1 echo Error: fetch dotnetcli failed && goto :failure
  -    popd
  -  )
  +rem check to see if the dotnet cli tool exists
  +if not exist %_dotnetexe% (
  +  echo Could not find %_dotnetexe%. Do zipfile install
  +  if not exist packages ( md packages )
  +  if exist packages\dotnet ( rd packages\dotnet /s /q )
  +  powershell.exe -executionpolicy unrestricted -command .\scripts\install-dotnetcli.ps1 https://dotnetcli.blob.core.windows.net/dotnet/beta/Binaries/Latest/dotnet-dev-win-x64.latest.zip packages
  +  @if ERRORLEVEL 1 echo Error: fetch dotnetcli failed && goto :failure
   
     pushd .\lkg & ..\%_dotnetexe% restore &popd
     @if ERRORLEVEL 1 echo Error: dotnet restore failed  && goto :failure
  
positive.code: goto :MAIN
  
  :SET_CONFIG
  set ARG=%~1
  
  if "%ARG%" == "1" if "%2" == "" (set ARG=build)
  
  if "%2" == "" if not "%ARG%" == "build" goto :EOF
  
  echo Parse argument %ARG%
  
negative.code: )
  
  REM These divide 'ci' into three chunks which can be done in parallel
  if /i '%ARG%' == 'ci_part1' (
      set SKIP_EXPENSIVE_TESTS=1
      set BUILD_CORECLR=1
  