anchor.diff:                UnorderedFiles = unorderedFiles })
       |> Seq.filter (fun pc -> pc.HasErrors)
   
  +/// Compares the given project files againts the template project and returns which files are missing.
  +/// For F# projects it is also reporting unordered files.
  +let findMissingContentFiles templateProject projects =
  +    let isFSharpProject file = file |> endsWith ".fsproj"
  +
  +    let templateFiles = (ProjectFile.FromFile templateProject).ContentFiles
  +    let templateFilesSet = Set.ofSeq templateFiles
  +    
  +    projects
  +    |> Seq.map (fun fileName -> ProjectFile.FromFile fileName)
  +    |> Seq.map (fun ps ->             
  +            let missingFiles = Set.difference templateFilesSet (Set.ofSeq ps.ContentFiles)
  +                
  +            let unorderedFiles =
  +                if not <| isFSharpProject templateProject then [] else
  +                if not <| Seq.isEmpty missingFiles then [] else
  +                let remainingFiles = ps.Files |> List.filter (fun file -> Set.contains file templateFilesSet)
  +                if remainingFiles.Length <> templateFiles.Length then [] else
  +
  +                templateFiles 
  +                |> List.zip remainingFiles
  +                |> List.filter (fun (a,b) -> a <> b) 
  +                |> List.map fst
  +
  +            { TemplateProjectFileName = templateProject
  +              ProjectFileName = ps.ProjectFileName
  +              MissingFiles = missingFiles
  +              DuplicateFiles = ps.FindDuplicateContentFiles()
  +              UnorderedFiles = unorderedFiles })
  +    |> Seq.filter (fun pc -> pc.HasErrors)
  +
   /// Compares the given projects to the template project and adds all missing files to the projects if needed.
   let FixMissingFiles templateProject projects =
       let addMissing (project:ProjectFile) missingFile = 
  
positive.code:         project.AddFile missingFile
  
      findMissingFiles templateProject projects
      |> Seq.iter (fun pc -> 
              let project = ProjectFile.FromFile pc.ProjectFileName
              if not (Seq.isEmpty pc.MissingFiles) then
  
negative.code:                 let newProject = project.RemoveDuplicates()
                  newProject.Save())
  
  /// It removes duplicate content files from the project files.
  let RemoveDuplicateContentFiles projects =    
      projects
      |> Seq.iter (fun fileName ->
              let project = ProjectFile.FromFile fileName
              if not (project.FindDuplicateContentFiles().IsEmpty) then
                  let newProject = project.RemoveDuplicatesContent()
                  newProject.Save())
  
  /// Compares the given projects to the template project and adds all missing files to the projects if needed.
  /// It also removes duplicate files from the project files.
  let FixProjectFiles templateProject projects =
      FixMissingFiles templateProject projects
      RemoveDuplicateFiles projects
  
  
  /// Compares the given projects to the template project and adds all missing content files to the projects if needed.
  /// It also removes duplicate files from the project files.
  let FixProjectContentFiles templateProject projects =
      FixMissingContentFiles templateProject projects
      RemoveDuplicateContentFiles projects
  
  /// Compares the given project files againts the template project and fails if any files are missing.
  /// For F# projects it is also reporting unordered files.
  