anchor.diff:                  |> Seq.choose(fun (library,redirects) ->
                       try
                           let key = FileInfo(library).FullName.ToLowerInvariant()
  -                        let assembly = 
  -                            match loadedLibs.TryGetValue key with
  -                            | true,v -> v
  -                            | _ -> 
  -                                let tempFile = Path.GetTempFileName()
  -                                if File.Exists(tempFile) then
  -                                    File.Delete tempFile
  -                                File.Copy(library,tempFile)
  -                                let v = Assembly.ReflectionOnlyLoadFrom library
  -                                loadedLibs.Add(key,v)
  -                                File.Delete tempFile
  -                                v
  +                        let assembly = LoadAssembliesSafe.reflectionOnlyLoadFrom library
   
                           Some (assembly, BindingRedirects.getPublicKeyToken assembly, assembly.GetReferencedAssemblies(), redirects)
                       with exn -> None)
  
positive.code: 
          processContentFiles root project usedPackages gitRemoteItems options
          project.Save forceTouch
          let loadedLibs = new Dictionary<_,_>()
  
          let first = ref true
  
          let redirects =
  
negative.code:                     |> Option.bind (fun p -> p.Settings.CreateBindingRedirects)
  
                  (snd kv.Value,packageRedirects))
              |> applyBindingRedirects !first options.CreateNewBindingFiles options.Hard (g.Value.Options.Redirects ++ redirects) (FileInfo project.FileName).Directory.FullName g.Key lockFile.GetAllDependenciesOf
              first := false
  
  
  /// Installs all packages from the lock file.
  let Install(options : InstallerOptions, forceTouch, dependenciesFile, lockFile : LockFile) =
  