anchor.diff:  if exist "%TOOLRUNTIME_DIR%" rmdir /S /Q "%TOOLRUNTIME_DIR%"
   
   if NOT exist "%PROJECT_JSON_PATH%" mkdir "%PROJECT_JSON_PATH%"
  -echo %PROJECT_JSON_CONTENTS% > %PROJECT_JSON_FILE%
  -echo Running %0 > %INIT_TOOLS_LOG%
  +echo %PROJECT_JSON_CONTENTS% > "%PROJECT_JSON_FILE%"
  +echo Running %0 > "%INIT_TOOLS_LOG%"
   
   if exist "%DOTNET_CMD%" goto :afterdotnetrestore
   
   echo Installing dotnet cli...
   if NOT exist "%DOTNET_PATH%" mkdir "%DOTNET_PATH%"
  -set /p DOTNET_VERSION=< %~dp0DotnetCLIVersion.txt
  +set /p DOTNET_VERSION=< "%~dp0DotnetCLIVersion.txt"
   set DOTNET_ZIP_NAME=dotnet-dev-win-x64.%DOTNET_VERSION%.zip
   set DOTNET_REMOTE_PATH=https://dotnetcli.blob.core.windows.net/dotnet/beta/Binaries/%DOTNET_VERSION%/%DOTNET_ZIP_NAME%
   set DOTNET_LOCAL_PATH=%DOTNET_PATH%%DOTNET_ZIP_NAME%
  -echo Installing '%DOTNET_REMOTE_PATH%' to '%DOTNET_LOCAL_PATH%' >> %INIT_TOOLS_LOG%
  -powershell -NoProfile -ExecutionPolicy unrestricted -Command "(New-Object Net.WebClient).DownloadFile('%DOTNET_REMOTE_PATH%', '%DOTNET_LOCAL_PATH%'); Add-Type -Assembly 'System.IO.Compression.FileSystem' -ErrorVariable AddTypeErrors; if ($AddTypeErrors.Count -eq 0) { [System.IO.Compression.ZipFile]::ExtractToDirectory('%DOTNET_LOCAL_PATH%', '%DOTNET_PATH%') } else { (New-Object -com shell.application).namespace('%DOTNET_PATH%').CopyHere((new-object -com shell.application).namespace('%DOTNET_LOCAL_PATH%').Items(),16) }" >> %INIT_TOOLS_LOG%
  +echo Installing '%DOTNET_REMOTE_PATH%' to '%DOTNET_LOCAL_PATH%' >> "%INIT_TOOLS_LOG%"
  +powershell -NoProfile -ExecutionPolicy unrestricted -Command "(New-Object Net.WebClient).DownloadFile('%DOTNET_REMOTE_PATH%', '%DOTNET_LOCAL_PATH%'); Add-Type -Assembly 'System.IO.Compression.FileSystem' -ErrorVariable AddTypeErrors; if ($AddTypeErrors.Count -eq 0) { [System.IO.Compression.ZipFile]::ExtractToDirectory('%DOTNET_LOCAL_PATH%', '%DOTNET_PATH%') } else { (New-Object -com shell.application).namespace('%DOTNET_PATH%').CopyHere((new-object -com shell.application).namespace('%DOTNET_LOCAL_PATH%').Items(),16) }" >> "%INIT_TOOLS_LOG%"
   if NOT exist "%DOTNET_LOCAL_PATH%" (
     echo ERROR: Could not install dotnet cli correctly. See '%INIT_TOOLS_LOG%' for more details.
     goto :EOF
  
positive.code: :afterbuildtoolsrestore
  
  echo Initializing BuildTools ...
  echo Running: "%BUILD_TOOLS_PATH%init-tools.cmd" "%~dp0" "%DOTNET_CMD%" "%TOOLRUNTIME_DIR%" >> %INIT_TOOLS_LOG%
  call "%BUILD_TOOLS_PATH%init-tools.cmd" "%~dp0" "%DOTNET_CMD%" "%TOOLRUNTIME_DIR%" >> %INIT_TOOLS_LOG%
  
  :: Create sempahore file
  echo Done initializing tools.
  
negative.code: 
  if exist "%BUILD_TOOLS_PATH%" goto :afterbuildtoolsrestore
  echo Restoring BuildTools version %BUILDTOOLS_VERSION%...
  echo Running: "%DOTNET_CMD%" restore "%PROJECT_JSON_FILE%" --packages %PACKAGES_DIR% --source "%BUILDTOOLS_SOURCE%" >> "%INIT_TOOLS_LOG%"
  call "%DOTNET_CMD%" restore "%PROJECT_JSON_FILE%" --packages %PACKAGES_DIR% --source "%BUILDTOOLS_SOURCE%" >> "%INIT_TOOLS_LOG%"
  if NOT exist "%BUILD_TOOLS_PATH%init-tools.cmd" (
    echo ERROR: Could not restore build tools correctly. See '%INIT_TOOLS_LOG%' for more details.
    goto :EOF
  