anchor.diff:          |> replace "$(REFERENCEITEMS)" pc.ReferenceItems true true CompileItem.Reference
           |> replace "$(LOADSOURCEITEMS)" pc.LoadSources true true CompileItem.LoadSource
           |> replace "$(USESOURCEITEMS)" pc.UseSources true true CompileItem.UseSource
  +        |> replaceTokens "$(FSHARPCORELOCATION)" fsharpCoreLocation
           |> replaceTokens "$(DIRECTORYBUILDLOCATION)" (Path.GetFullPath(__SOURCE_DIRECTORY__))
           |> replaceTokens "$(OUTPUTTYPE)" outputType
           |> replaceTokens "$(OPTIMIZE)" optimize
  
positive.code:     <RestoreAdditionalProjectSources Condition = "" '$(RestoreAdditionalProjectSources)' != ''"">$(RestoreAdditionalProjectSources);$(RestoreFromArtifactsPath)</RestoreAdditionalProjectSources>
    </PropertyGroup>
  
    <!-- Utility sources -->
    <ItemGroup>$(UTILITYSOURCEITEMS)
    </ItemGroup>
  
  
negative.code:     let referenceItems =  if String.IsNullOrEmpty(copyFiles) then [] else [copyFiles]
      let framework = "netcoreapp2.0"
  
      // Arguments:
      //    outputType = OutputType.Exe, OutputType.Library or OutputType.Script
      //    compilerType = "coreclr" or "net40"
      //    targetFramework optimize = "net472" OR NETCOREAPP2.1 etc ...
      //    optimize = true or false
      let executeSingleTestBuildAndRun outputType compilerType targetFramework optimize =
          let mutable result = false
          let directory = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName() )
  