anchor.diff:                  else 
                       // MSBuild resolution may have unified the result of two duplicate references. Try to re-resolve now.
                       // If re-resolution worked then this was a removed duplicate.
  -                    Resolve([|originalName, ""|], (*showMessages*)false).Length<>0 
  +                    tcConfig.MsBuildResolve([|originalName, ""|], mode, errorAndWarningRange, (*showMessages*)false).Length<>0 
                       
               let unresolvedReferences =                     
                       groupedReferences 
  
positive.code:     member tcConfig.ResolveSourceFile(m, nm, pathLoadedFrom) = 
          data.ResolveSourceFile(m, nm, pathLoadedFrom)
  
      // NOTE!! if mode=Speculative then this method must not report ANY warnings or errors through 'warning' or 'error'. Instead
      // it must return warnings and errors as data
      //
  
negative.code:                                 (maxIndexOfReference, assemblyResolution))  
                  |> Array.filter(fun (_, refs)->refs |> isNil |> not)
                  
              let toMsBuild = [|0..groupedReferences.Length-1|] 
                               |> Array.map(fun i->(p13 groupedReferences.[i]), (p23 groupedReferences.[i]), i) 
                               |> Array.filter (fun (_, i0, _)->resolvedAsFile|>Array.exists(fun (i1, _) -> i0=i1)|>not)
                               |> Array.map(fun (ref, _, i)->ref, string i)
  
              let resolutions = tcConfig.MsBuildResolve(toMsBuild, mode, errorAndWarningRange, (*showMessages*)true)  
  
              // Map back to original assembly resolutions.
              let resolvedByMsbuild = 
  