anchor.diff:                          cacheConfig.Save(cacheInfo.CacheConfigPath)
                           if printDetails then trace (System.Environment.NewLine + "Saved cache")
               with ex ->
  -                handleException ex
  -                reraise()
  +                // Caching errors are not critical, and we shouldn't throw in a finally clause.
  +                traceFAKE "CACHING ERROR (please open a issue on FAKE and /cc @matthid): %O" ex
  +                if File.Exists cacheInfo.AssemblyWarningsPath then
  +                    // Invalidates the cache
  +                    try File.Delete cacheInfo.AssemblyWarningsPath with _ -> ()
   
   let internal onMessage isError =
       let printer = if isError && TraceListener.importantMessagesToStdErr then eprintf else printf
  
positive.code:     use out = ScriptHost.CreateForwardWriter onOutMsg
      use err = ScriptHost.CreateForwardWriter onErrMsg
      if useCache && cacheInfo.IsValid then
          
          if printDetails then trace "Using cache"
          let noExtension = Path.GetFileNameWithoutExtension(cacheInfo.ScriptFileName)
  
  
negative.code:                     with exn ->
                          // If cecil fails we might want to trigger a warning, but you know what?
                          // we can continue using the FSI-ASSEMBLY.dll
                          traceFAKE "Warning (please open an issue on FAKE and /cc @matthid): %O" exn
                          File.Move(name + ".dll", cacheInfo.AssemblyPath)
  
                      for name in [ name; wishName ] do
  