anchor.diff:  
   
     member x.RemoveFromProjectInfoCache(projFilename:string, ?properties) =
  -    //Debug.WriteLine(sprintf "LanguageService: Clearing ProjectInfoCache : %A" projectInfoCache.Keys)
       let properties = defaultArg properties ["Configuration", "Debug"]
       let key = (projFilename, properties)
       Debug.WriteLine("LanguageService: Removing {0} from projectInfoCache", projFilename)
  
positive.code:   member x.GetProjectCheckerOptions(projFilename, ?properties) =
      let properties = defaultArg properties ["Configuration", "Debug"]
      let key = (projFilename, properties)
      match (!projectInfoCache).TryFind (key) with
             | Some entry, cache ->
                 Debug.WriteLine ("LanguageService: GetProjectCheckerOptions: Getting ProjectOptions from cache for {0}", projFilename)
                 projectInfoCache := cache
                 entry
             | None, cache ->
                 lock projectInfoCache (fun () ->
                 Debug.WriteLine ("LanguageService: GetProjectCheckerOptions: Generating ProjectOptions for {0}", Path.GetFileName(projFilename))
                 let opts = checker.GetProjectOptionsFromProjectFile(projFilename, properties)
                 projectInfoCache := cache.Add (key, opts)
                 opts)
  
      // Print contents of check option for debugging purposes
      // Debug.WriteLine(sprintf "GetProjectCheckerOptions: ProjectFileName: %s, ProjectFileNames: %A, ProjectOptions: %A, IsIncompleteTypeCheckEnvironment: %A, UseScriptResolutionRules: %A" 
  
negative.code:             let dirs = FSharpEnvironment.getDefaultDirectories (None, FSharpTargetFramework.NET_4_5 )
              {opts with OtherOptions = [| yield! opts.OtherOptions
                                           match FSharpEnvironment.resolveAssembly dirs "FSharp.Core" with
                                           | Some fn -> yield String.Format ("-r:{0}", fn)
                                           | None -> Debug.WriteLine("LanguageService: Resolution: FSharp.Core assembly resolution failed!")
                                           match FSharpEnvironment.resolveAssembly dirs "FSharp.Compiler.Interactive.Settings" with
                                           | Some fn -> yield String.Format ("-r:{0}", fn)
                                           | None -> Debug.WriteLine("LanguageService: Resolution: FSharp.Compiler.Interactive.Settings assembly resolution failed!") |]}
          with e -> failwithf "Exception when getting check options for '%s'\n.Details: %A" fileName e
  
  