anchor.diff:      |> Seq.concat
       |> Seq.toArray
   
  +/// Since Assembly.ReflectionOnlyLoadFrom holds on to file handles indefintely, we use
  +/// ReflectionOnlyLoad(bytes[]) instead. However, in order to prevent
  +/// CLR from loading same assemblies multiple times (results in exn), we use a static
  +/// dictionary for caching assemblies, based on their filename.
  +module private LoadAssembliesSafe =
  +
  +    let loadedLibs = new Dictionary<_,_>()
  +
  +    let reflectionOnlyLoadFrom library = 
  +        let key = FileInfo(library).FullName.ToLowerInvariant()
  +        match loadedLibs.TryGetValue key with
  +         | (true,v) -> v 
  +         | _ ->
  +            let assemblyAsBytes = File.ReadAllBytes library
  +            let v = Assembly.ReflectionOnlyLoad assemblyAsBytes
  +            loadedLibs.[key] <- v
  +            v
  +
   
   /// Applies binding redirects for all strong-named references to all app. and web.config files.
  -let private applyBindingRedirects (loadedLibs:Dictionary<_,_>) isFirstGroup createNewBindingFiles cleanBindingRedirects redirects root groupName findDependencies extractedPackages =
  +let private applyBindingRedirects isFirstGroup createNewBindingFiles cleanBindingRedirects redirects root groupName findDependencies extractedPackages =
       let dependencyGraph = ConcurrentDictionary<_,Set<_>>()
       let projects = ConcurrentDictionary<_,ProjectFile option>();
       let referenceFiles = ConcurrentDictionary<_,ReferencesFile option>();
  
positive.code:                 |> 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
  
                          Some (assembly, BindingRedirects.getPublicKeyToken assembly, assembly.GetReferencedAssemblies(), redirects)
                      with exn -> None)
  
negative.code: 
          processContentFiles root project usedPackages gitRemoteItems options
          project.Save forceTouch
          
          let first = ref true
  
          let redirects =
  