anchor.diff:          fi.Delete()
       WriteStringToFile false fileName text
   
  -[<System.Obsolete "use Fake.Core.String instead">]
  +[<System.Obsolete "FAKE0001 use Fake.Core.String instead">]
   let Colon = ','
   
   /// Writes a file line by line
  -[<System.Obsolete "use Fake.Core.String instead">]
  +[<System.Obsolete "FAKE0001 use `open Fake.IO.FileSystem` and `File.WriteFile` instead">]
   let WriteFile file lines = WriteToFile false file lines
   
   /// Appends all lines to a file line by line
  -[<System.Obsolete "use Fake.Core.String instead">]
  +[<System.Obsolete "FAKE0001 use `open Fake.IO.FileSystem` and `File.AppendToFile` instead">]
   let AppendToFile file lines = WriteToFile true file lines
   
   /// Reads a file as one text
  -[<System.Obsolete "use Fake.Core.String instead">]
  +[<System.Obsolete "FAKE0001 use `open Fake.IO.FileSystem` and `File.ReadFileAsString` instead">]
   let inline ReadFileAsString file = File.ReadAllText(file, encoding)
   
   /// Reads a file as one array of bytes
  -[<System.Obsolete "use Fake.Core.String instead">]
  +[<System.Obsolete "FAKE0001 use `open Fake.IO.FileSystem` and `File.ReadFileAsBytes` instead">]
   let ReadFileAsBytes file = File.ReadAllBytes file
   
   /// Replaces any occurence of the currentDirectory with .
  -[<System.Obsolete "use Fake.Core.String instead">]
  +[<System.Obsolete "FAKE0001 use Fake.Core.String instead">]
   let inline shortenCurrentDirectory value = replace currentDirectory "." value
   
   /// Checks whether the given text starts with the given prefix
  -[<System.Obsolete "use Fake.Core.String instead">]
  +[<System.Obsolete "FAKE0001 use Fake.Core.String instead">]
   let inline (<*) prefix text = startsWith prefix text
   
   /// Replaces the text in the given file
  -[<System.Obsolete "use Fake.Core.String instead">]
  +[<System.Obsolete "FAKE0001 use `open Fake.IO.FileSystem` and `File.ReplaceInFile` instead">]
   let ReplaceInFile replaceF fileName = 
       fileName
       |> ReadFileAsString
  
positive.code:         x
  
  /// Find a regex pattern in a text and replaces it with the given replacement.
  [<System.Obsolete "use Fake.Core.String instead">]
  let (>=>) pattern replacement text = regex_replace pattern replacement text
  
  /// Determines if a text matches a given regex pattern.
  [<System.Obsolete "use Fake.Core.String instead">]
  let (>**) pattern text = (getRegEx pattern).IsMatch text
  
  /// Decodes a Base64-encoded UTF-8-encoded string
  [<System.Obsolete "use Fake.Core.String instead">]
  let DecodeBase64Utf8String(text : string) = 
      text
      |> Convert.FromBase64String
  
negative.code:     }
  
  /// Reads the first line of a file. This can be helpful to read a password from file.
  [<System.Obsolete "FAKE0001 use `open Fake.IO.FileSystem` and `File.ReadLine` instead">]
  let ReadLine(file : string) = 
      use sr = new StreamReader(file, Encoding.Default)
      sr.ReadLine()
  
  /// Writes a file line by line
  [<System.Obsolete "FAKE0001 use `open Fake.IO.FileSystem` and `File.WriteToFile` 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 "FAKE0001 use Fake.Core.String instead">]
  let rec NormalizeVersion(version : string) =
      if version = null then "" else
      let elements = version.Split [| '.' |]
  