anchor.diff:                        yield x.Inner()
                         yield "    </Reference>" ])
   
  -type private InstallInfo = {
  +type InstallInfo = {
       DllName : string
       Path : string
       Condition : FramworkCondition
   }
  +
  +module DLLGrouping =
  +    let groupDLLs (usedPackages:HashSet<string>) extracted =
  +        [for package, libraries in extracted do
  +            if usedPackages.Contains package.Name then
  +                let libraries = libraries |> Seq.toArray
  +                for (lib:FileInfo) in libraries do                    
  +                    yield 
  +                        { DllName = lib.Name.Replace(lib.Extension, "")
  +                          Path = lib.FullName
  +                          Condition = FramworkCondition.DetectFromPath lib.FullName } ]
  +        |> Seq.groupBy (fun info -> info.DllName,info.Condition.FrameworkVersion.GetGroup())
  +        |> Seq.groupBy (fun ((name,_),_) -> name)
   
   /// Contains methods to read and manipulate project files.
   type ProjectFile = 
  
positive.code: open System
  open System.IO
  open System.Xml
  
  /// The Framework version.
  type FrameworkVersionType =
  
negative.code:                     
                      if installIt then                        
                          { DLLName = lib.DllName
                            HintPath = Some(Uri(this.FileName).MakeRelativeUri(Uri(lib.Path)).ToString().Replace("/", "\\"))
                            Private = true
                            Condition = condition
                            Node = None }
  