anchor.diff:          let core = "<TargetFramework>netcoreapp"
           projectContent.IndexOf(core) >= 0
   
  -    let isNetCoreApp2 (project : Project) =
  -        let projectContent = (node.fs.readFileSync project.Project).toString()
  -        let core = "<TargetFramework>netcoreapp2"
  -        projectContent.IndexOf(core) >= 0
  -
       let isSDKProject (project : Project) =
           match project.Info with
           | ProjectResponseInfo.DotnetSdk _ -> true
  
positive.code: 
          excluded
          |> Array.exists isSubDir
  
      let private guessFor p =
          let rec findFsProj dir =
              if node.fs.lstatSync(U2.Case1 dir).isDirectory() then
                  let files = node.fs.readdirSync (U2.Case1 dir)
                  let projfile = files |> Seq.tryFind(fun s -> s.EndsWith(".fsproj"))
                  match projfile with
                  | None ->
                      let projfile = files |> Seq.tryFind(fun s -> s.EndsWith "project.json")
                      match projfile with
                      | None ->
                          try
                              let parent = if dir.LastIndexOf(node.path.sep) > 0 then dir.Substring(0, dir.LastIndexOf node.path.sep) else ""
                              if System.String.IsNullOrEmpty parent then None else findFsProj parent
                          with
                          | _ -> None
                      | Some p -> dir + node.path.sep + p |> Some
                  | Some p -> dir + node.path.sep + p |> Some
              else None
  
          p |> node.path.dirname |> findFsProj
  
      let private findAll () =
          let rec findProjs dir =
  
negative.code:         let projectContent = (node.fs.readFileSync project).toString()
          let sdk = "<Project Sdk=\""
          projectContent.IndexOf(sdk) >= 0
  
      let isExeProject (project : Project) =
          match project.Output, isANetCoreAppProject project with
  