anchor.diff:      let projFile = Path.GetFullPath(projFile)
       if not(File.Exists(projFile)) then
           failwith ("File does not exist: " + projFile)
  -    let projRefs, mainProj = retryGetCrackedProjects checker rootDir projFile
  +    let projRefs, mainProj = retryGetCrackedProjects checker projFile
       let fableCorePath, pkgRefs =
           copyFableCoreAndPackageSources rootDir mainProj.PackageReferences
       let projOpts =
  
positive.code:       PackageReferences = []
        OtherCompilerOptions = [] }
  
  let getCrackedProjectsFromMainFsproj rootDir (projFile: string) =
      let rec crackProjects (acc: CrackedFsproj list) (projFile: string) =
          let crackedFsproj =
              match acc |> List.tryFind (fun x -> x.ProjectFile = projFile) with
  
negative.code:         // Add always a reference to the front to preserve compilation order
          // Duplicated items will be removed later
          List.fold crackProjects (crackedFsproj::acc) crackedFsproj.ProjectReferences
      let mainProj = fullCrack projFile
      let refProjs =
          List.fold crackProjects [] mainProj.ProjectReferences
          |> List.distinctBy (fun x -> x.ProjectFile)
      refProjs, mainProj
  
  let getCrackedProjects (checker: FSharpChecker) (projFile: string) =
      match (Path.GetExtension projFile).ToLower() with
      | ".fsx" ->
          // getProjectOptionsFromScript checker define projFile
          failwith "Parsing .fsx scripts is not currently possible, please use a .fsproj project"
      | ".fsproj" ->
          getCrackedProjectsFromMainFsproj projFile
      | s -> failwithf "Unsupported project type: %s" s
  
  // It is common for editors with rich editing or 'intellisense' to also be watching the project
  // file for changes. In some cases that editor will lock the file which can cause fable to
  // get a read error. If that happens the lock is usually brief so we can reasonably wait
  // for it to be released.
  let retryGetCrackedProjects (checker: FSharpChecker) (projFile: string) =
      let retryUntil = (DateTime.Now + TimeSpan.FromSeconds 2.)
      let rec retry () =
          try
              getCrackedProjects checker projFile
          with
          | :? IOException as ioex ->
              if retryUntil > DateTime.Now then
  