anchor.diff:          new ProjectFile(projectFileName,document.OuterXml)
   
       /// All files which are in "Compile" sections
  -    member x.Files = files
  +    member x.Files = getCompileNodes document |> List.map getFileAttribute
   
       /// Finds duplicate files which are in "Compile" sections
       member x.FindDuplicateFiles() = 
  -        [let d = System.Collections.Generic.Dictionary()
  +        [let d = Dictionary()
            for i in x.Files do
               match d.TryGetValue(i) with
               | false,_    -> d.[i] <- false         // first observance
  
positive.code:     let getCompileNodes (document:XmlDocument) =         
          [for node in document.SelectNodes(compileNodesXPath,nsmgr) -> node]
  
      let getFileAttributes (document:XmlDocument) = 
          let xpath = compileNodesXPath + "/@Include"
          [for attr in document.SelectNodes(xpath,nsmgr) -> attr]
  
      let files = getFileAttributes document |> List.map (fun attr -> attr.InnerText)
      
      /// Read a Project from a FileName
      static member FromFile(projectFileName) = new ProjectFile(projectFileName,ReadFileAsString projectFileName)
  
      /// Saves the project file
      member x.Save() = document.Save(projectFileName)
  
      /// Add a file to the Compile nodes
      member x.AddFile fileName =        
  
negative.code: module Fake.MSBuild.ProjectSystem
  
  open Fake
  open System.Collections.Generic
  open System.Xml
  open System.Xml.Linq
  open XMLHelper
  