anchor.diff:              let intermediateFilePath = Path.Combine (intermediateDirectory, intermediateFileSubpath)
               let outputFilePath = Path.Combine (outputDirectory, intermediateFileSubpath)
               ignore <| Directory.CreateDirectory ^^ Path.GetDirectoryName outputFilePath
  -            File.Copy (intermediateFilePath, outputFilePath, true)
  +            try File.Copy (intermediateFilePath, outputFilePath, true)
  +            with _ -> () // just ignore copy issues due to assets possibly having a lock on them
   
       /// Attempt to build all the assets found in the given asset graph.
       let tryBuildAssetGraph inputDirectory outputDirectory refinementDirectory fullBuild assetGraphFilePath =
  
positive.code:         let attributes = node.Attributes
          match attributes.GetNamedItem DirectoryAttributeName with
          | null -> None
          | directoryPath ->
              let searchOption =
                  match attributes.GetNamedItem RecursiveAttributeName with
                  | null -> SearchOption.TopDirectoryOnly
  
negative.code:                                       PackageName = node.ParentNode.Name })
                                  filePaths
                          Some <| List.ofArray assets
                      with exn -> debug <| "Invalid folder path '" + directory.InnerText + "'."; None
  
      /// Attempt to load all the assets from a package Xml node.
      let tryLoadAssetsFromPackageNode optAssociation (node : XmlNode) =
  