anchor.diff:      ()
   
   let fsc = fscTargetingHelper None
  -let fscTargeting target = fscTargetingHelper (Some(target))+let fscTargeting target = fscTargetingHelper (Some(target))
  
positive.code:             "System.Core.dll"
          ]
  
      let searchPaths = allPaths.[target]
                          |> Seq.map (fun p-> Path.GetFullPath p)
                          |> Seq.filter (fun p -> Directory.Exists p)
  
      let fsharpCore =
          match target with
              | PORTABLE_47 -> Path.Combine(fsharpSDK30, "Runtime", ".NETPortable" , "FSharp.Core.dll")
              | NET35 -> "./tools/packages/FSharp.Core.3/lib/net20/FSharp.Core.dll"
              | NET40 | NET45 -> "./tools/packages/FSharp.Core.3/lib/net40/FSharp.Core.dll"
          |> Path.GetFullPath
  
      let dllPath dll =
          searchPaths
              |> Seq.map (fun p -> Path.Combine(p, dll))
              |> Seq.tryFind (fun p -> File.Exists(p))
  
      systemDlls
          |> List.choose dllPath
          |> List.append [fsharpCore]
  
  let fscTargetingHelper (target:TargetFramework option) (args:string list) =
      
      let sysDlls = 
          match target with
          | Some(t) -> systemDllsTargeting t
                          |> List.map (fun p-> sprintf "--reference:%s" p)
                          |> List.append ["--noframework"]
          | None -> []
       
      let compilerOpts = ["fsc.exe"] @ sysDlls @ args
      log (compilerOpts|> String.concat " ")
      let scs = SimpleSourceCodeServices()
  
negative.code:     let fsharpSDK = Path.Combine (programFiles, "Reference Assemblies","Microsoft","FSharp");
      let fsharpSDK30 = Path.Combine (fsharpSDK,"3.0");
  
  
  
      printfn "%s" msSDK
      let sysDotNetLibPath =
          Assembly.GetAssembly(typeof<System.Object>).Location
               |> Path.GetDirectoryName
               |> (fun x -> Path.Combine(x, ".."))
               |> Path.GetFullPath
  
      let allStdPaths =
          match target with
              | NET45 ->
                  [
                    Path.Combine(msSDK,".NETFramework", "v4.5") //Windows
                    Path.Combine(sysDotNetLibPath,"4.5") //Mono
                    Path.Combine(sysDotNetLibPath,"v4.0.30319") //Windows Fallback
                  ]
              | NET40 ->
                  [
                    Path.Combine(msSDK,".NETFramework","v4.0") //Windows
                    Path.Combine(sysDotNetLibPath,"4.0") //Mono
                    Path.Combine(sysDotNetLibPath,"v4.0.30319") //Windows Fallback
                  ]
              | NET35 ->
                  [
                    Path.Combine(msSDK,".NETFramework","v3.5", "Profile", "Client") //Windows
                    Path.Combine(sysDotNetLibPath,"3.5") //Mono
                    Path.Combine(sysDotNetLibPath,"2.0") //Mono
                    Path.Combine(sysDotNetLibPath,"v3.5") //Windows Fallback
                    Path.Combine(sysDotNetLibPath,"v2.0.50727") //Windows Fallback
                  ]
              | PORTABLE_47 ->
                  [
                      Path.Combine(msSDK, ".NETPortable", "v4.0", "Profile", "Profile47") //Windows
                      Path.Combine(sysDotNetLibPath,"xbuild-framework", ".NETPortable", "v4.0", "Profile", "Profile47") //Mono
                  ]
              | PORTABLE_7 ->
                  [
                      Path.Combine(msSDK, ".NETPortable", "v4.5", "Profile", "Profile7") //Windows
                      Path.Combine(sysDotNetLibPath,"xbuild-framework", ".NETPortable", "v4.5", "Profile", "Profile7") //Mono
                  ]
          |> List.map Path.GetFullPath
  
  
      let fsharpPaths =
          match target with
              | PORTABLE_47 ->
                  [
                      Path.Combine(fsharpSDK, ".NETPortable", "2.351") //Windows F# 3.1
                      Path.Combine(fsharpSDK, ".NETPortable", "2.350") //Windows F# 3.0
                      Path.Combine(fsharpSDK30, "Runtime", ".NETPortable") //Windows F#3.0
                  ]
              | PORTABLE_7 ->
                  [
                      Path.Combine(fsharpSDK, ".NETCore", "3.310") //Windows F# 3.1
                  ]
              | NET35 ->
                  [
                      Path.Combine(fsharpSDK, ".NETFramework","v2.0", "2.300") //Windows F# 3.0 new loc
                      Path.Combine(fsharpSDK30, "Runtime", "v2.0") //Windows F# 3.0
                      Path.Combine(sysDotNetLibPath, "2.1") //Mono
                      "./tools/packages/FSharp.Core.3/lib/net20/" //Fallback
                  ]
              | NET40 ->
                  [
                      Path.Combine(fsharpSDK, ".NETFramework","v4.0", "4.310") //Windows F# 3.1
                      Path.Combine(fsharpSDK, ".NETFramework","v4.0", "4.300") //Windows F# 3.0 new loc
                      Path.Combine(fsharpSDK30, "Runtime", "v4.0") //Windows F# 3.0
                      Path.Combine(sysDotNetLibPath, "4.0") //Mono
                      "./tools/packages/FSharp.Core.3/lib/net40/"
                  ]
              | NET45 ->
                  [
                      Path.Combine(fsharpSDK, ".NETFramework","v4.0", "4.310") //Windows F# 3.1
                      Path.Combine(fsharpSDK, ".NETFramework","v4.0", "4.300") //Windows F# 3.0 new loc
                      Path.Combine(fsharpSDK30, "Runtime", "v4.0") //Windows F# 3.0
                      Path.Combine(sysDotNetLibPath, "4.5") //Mono
                      "./tools/packages/FSharp.Core.3/lib/net40/" //Fallback
                  ]
          |> List.map Path.GetFullPath
  
      let systemDlls =
          [
  