anchor.diff:      DeleteFile (outputSampleApp @@ "SampleSolrApp.sln.cache")
       CreateDir (outputSampleApp @@ "lib")    
   
  -    !+ (outputSampleApp @@ "bin\\*") -- "**\\SampleSolrApp.*" -- "**\\SolrNet.*" 
  -    |> Scan
  -    |> Copy (outputSampleApp @@ "lib")
  +    !+ (outputSampleApp @@ "bin\\*") 
  +        -- "**\\SampleSolrApp.*" -- "**\\SolrNet.*"
  +        |> Scan
  +        |> Copy (outputSampleApp @@ "lib")
      
       ["pingsolr.js"; "license.txt"; "runsample.bat"] |> Copy buildDir
   
  
positive.code:     CreateDir outputPath
      !+ (buildDir @@ "SolrNet.*")
          ++ "license.txt" ++ "lib\\Microsoft.Practices.*"
          |> Scan |> Copy outputPath
      !+ (outputPath @@ "*") 
          |> Scan |> Zip outputPath (sprintf "SolrNet-%s.zip" version)
      DeleteDir outputPath
  )
  
  
negative.code: 
  let version = "0.3.0"
  let buildDir = "merged"
  let config = getBuildParamOrDefault "config" "debug"
  let target = getBuildParamOrDefault "target" "BuildAll"
  
  // helper functions
  let (.>) (a: #seq<XElement>) (b: string) = Extensions.Descendants(a, xname b)
  let startsWith s (n: XElement) = n.Value.StartsWith s
  let contains s (n: XElement) = n.Value.Contains s
  let setValue s (n: XElement) = n.Value <- s
  let replaceValue orig repl (n: XElement) = n.Value <- n.Value.Replace((orig:string), (repl:string))
  
  let slnBuild sln x = 
      sln |> build (fun p -> { p with 
  