anchor.diff:           | _ -> (sprintf "%s%A" s value))
   
   /// Appends a quoted text if the value is not null.
  -[<System.Obsolete "use Fake.Core.String instead">]
  +[<System.Obsolete "FAKE0001 use Fake.Core.String instead">]
   let inline appendQuotedIfNotNull (value : Object) s (builder : StringBuilder) = 
       if (value = null) then builder
       else 
  
positive.code:     }
  
  /// Reads the first line of a file. This can be helpful to read a password from file.
  [<System.Obsolete "use Fake.Core.String instead">]
  let ReadLine(file : string) = 
      use sr = new StreamReader(file, Encoding.Default)
      sr.ReadLine()
  
  /// Writes a file line by line
  [<System.Obsolete "use Fake.Core.String instead">]
  let WriteToFile append fileName (lines : seq<string>) = 
      let fi = fileInfo fileName
      use writer = new StreamWriter(fileName, append && fi.Exists, encoding)
      lines |> Seq.iter writer.WriteLine
  
  /// Removes all trailing .0 from a version string
  [<System.Obsolete "use Fake.Core.String instead">]
  let rec NormalizeVersion(version : string) =
      if version = null then "" else
      let elements = version.Split [| '.' |]
  
negative.code:     else version
  
  /// Writes a byte array to a file
  [<System.Obsolete "FAKE0001 use `open Fake.IO.FileSystem` and `File.WriteBytesToFile` instead">]
  let WriteBytesToFile file bytes = File.WriteAllBytes(file, bytes)
  
  /// Writes a string to a file
  [<System.Obsolete "FAKE0001 use `open Fake.IO.FileSystem` and `File.WriteStringToFile` instead">]
  let WriteStringToFile append fileName (text : string) = 
      let fi = fileInfo fileName
      use writer = new StreamWriter(fileName, append && fi.Exists, encoding)
      writer.Write text
  
  /// Replaces the file with the given string
  [<System.Obsolete "FAKE0001 use `open Fake.IO.FileSystem` and `File.ReplaceFile` instead">]
  let ReplaceFile fileName text = 
      let fi = fileInfo fileName
      if fi.Exists then 
  