anchor.diff:  ECHO Exit Code: %BuildErrorLevel%
   SET ERRORLEVEL=%BuildErrorLevel%
   
  -GOTO :Exit
  +GOTO Exit
   
   :Build
   %BuildPrefix% msbuild "%BuildProj%" /p:Configuration=%Configuration% /nologo /maxcpucount:1 /verbosity:minimal /nodeReuse:false /fileloggerparameters:Verbosity=d;LogFile="%BuildLog%"; %BuildPostfix%
  
positive.code: :RestoreNormalPackage
  :: Currently version 3.3 is not compatible with our build, force to use v2.8.6
  SET CachedNuget=%LocalAppData%\NuGet\v2.8.6\NuGet.exe
  IF EXIST "%CachedNuget%" GOTO :Restore
  ECHO Downloading NuGet.exe v2.8.6...
  IF NOT EXIST "%LocalAppData%\NuGet\v2.8.6" MD "%LocalAppData%\NuGet\v2.8.6"
  powershell -NoProfile -ExecutionPolicy UnRestricted -Command "$ProgressPreference = 'SilentlyContinue'; [Net.WebRequest]::DefaultWebProxy.Credentials = [Net.CredentialCache]::DefaultCredentials; Invoke-WebRequest 'https://dist.nuget.org/win-x86-commandline/v2.8.6/nuget.exe' -OutFile '%CachedNuget%'"
  
  IF NOT '%ErrorLevel%'=='0' (
      ECHO ERROR: Failed downloading NuGet.exe
      GOTO :Exit
  )
  
  :Restore
  %CachedNuget% restore "%BuildProj%"
  
  IF NOT '%ErrorLevel%'=='0' (
      ECHO ERROR: Error when restoring packages for %BuildProj%
      GOTO :Exit
  )
  
  :Exit
  
negative.code: SET BuildPostfix=
  CALL :Build %*
  
  IF NOT [!ERRORLEVEL!]==[0] (
      GOTO AfterBuild
  )
  
  POPD
  