anchor.diff:    ==> "NativeBuild"
   
   
  +// --------------------------------------------------------------------------------------
   // TEST
  +// --------------------------------------------------------------------------------------
  +
  +let test target =
  +    let quick p = if hasBuildParam "quick" then { p with ExcludeCategory="LongRunning" } else p
  +    NUnit (fun p ->
  +        { p with
  +            DisableShadowCopy = true
  +            TimeOut = TimeSpan.FromMinutes 30.
  +            OutputFile = "TestResults.xml" } |> quick) target
  +
  +Target "Test" (fun _ -> test !! "out/test/**/*UnitTests*.dll")
  +"Build" ==> "Test"
   
   Target "Native32Test" (fun _ ->
       ActivateFinalTarget "CloseTestRunner"
  
positive.code: let header = ReadFile(__SOURCE_DIRECTORY__ @@ "build.fsx") |> Seq.take 10 |> Seq.map (fun s -> s.Substring(2)) |> toLines
  trace header
  
  Target "Start" DoNothing
  Target "Clean" (fun _ ->
      CleanDirs [ "obj" ]
      CleanDirs [ "out/api"; "out/docs"; "out/packages" ]
      CleanDirs [ "out/lib/Net35"; "out/lib/Net40"; "out/lib/Profile47"; "out/lib/Profile344" ]
      CleanDirs [ "out/test/Net35"; "out/test/Net40"; "out/test/Profile47"; "out/test/Profile344" ]
      CleanDirs [ "out/lib-signed/Net40" ]
      CleanDirs [ "out/test-signed/Net40" ])
  Target "RestorePackages" RestorePackages
  Target "Prepare" DoNothing
  
  "Start"
    =?> ("Clean", not (hasBuildParam "incremental"))
    ==> "RestorePackages"
    ==> "Prepare"
  
  
  // ======================================================================================
  // Math.NET Numerics Core
  // ======================================================================================
  
  // PROJECT INFO
  
  type Package =
      { Id: string
  
negative.code: "Native64Build" ==> "Native64Test" ==> "NativeTest"
  
  
  // --------------------------------------------------------------------------------------
  // PACKAGES
  // --------------------------------------------------------------------------------------
  
  let provideLicenseReadme license releasenotes path =
      let licensePath = path @@ "license.txt"
      let readmePath = path @@ "readme.txt"
      CopyFile licensePath license
      CopyFile readmePath releasenotes
      ConvertFileToWindowsLineBreaks licensePath
      header + Environment.NewLine + (ReadFileAsString readmePath)
      |> ConvertTextToWindowsLineBreaks 
      |> ReplaceFile readmePath
  
  // ZIP
  
  Target "Zip" (fun _ ->
      CleanDir "out/packages/Zip"
      CleanDir "obj/Zip"
      if not (hasBuildParam "signed") || hasBuildParam "release" then
          CopyDir "obj/Zip/MathNet.Numerics" "out/lib" (fun f -> f.Contains("MathNet.Numerics."))
          provideLicenseReadme "LICENSE.md" "RELEASENOTES.md" "obj/Zip/MathNet.Numerics"
          Zip "obj/Zip/" (sprintf "out/packages/Zip/MathNet.Numerics-%s.zip" packageVersion) !! "obj/Zip/MathNet.Numerics/**/*.*"
      if hasBuildParam "signed" || hasBuildParam "release" then
          CopyDir "obj/Zip/MathNet.Numerics.Signed" "out/lib-signed" (fun f -> f.Contains("MathNet.Numerics."))
          provideLicenseReadme "LICENSE.md" "RELEASENOTES.md" "obj/Zip/MathNet.Numerics.Signed"
          Zip "obj/Zip/" (sprintf "out/packages/Zip/MathNet.Numerics.Signed-%s.zip" packageVersion) !! "obj/Zip/MathNet.Numerics.Signed/**/*.*"
      CleanDir "obj/Zip")
  
  "Build" ==> "Zip"
  
  Target "NativeZip" (fun _ ->
      CleanDir "out/MKL/packages/Zip"
  