anchor.diff:                      
                       if installIt then                        
                           { DLLName = lib.DllName
  -                          HintPath = Some(lib.Path.Replace("/", "\\"))
  +                          HintPath = Some(Uri(this.FileName).MakeRelativeUri(Uri(lib.Path)).ToString().Replace("/", "\\"))
                             Private = true
                             Condition = condition
                             Node = None }
  
positive.code: 
          firstNode.ParentNode.AppendChild(copy) |> ignore
  
      member this.UpdateReferences(extracted,usedPackages:System.Collections.Generic.HashSet<string>) =
          for _, libraries in extracted do            
              let libraries = libraries |> Seq.toArray
              for (lib:FileInfo) in libraries do                                       
                  this.DeleteOldReferences (lib.Name.Replace(lib.Extension, ""))
  
          let installInfos =
              [for package, libraries in extracted do
                  if usedPackages.Contains package.Name then
                      let libraries = libraries |> Seq.toArray
                      for (lib:FileInfo) in libraries do
                          let relativePath = Uri(this.FileName).MakeRelativeUri(Uri(lib.FullName)).ToString() 
                          yield 
                              { DllName = lib.Name.Replace(lib.Extension, "")
                                Path = relativePath
                                Condition = FramworkCondition.DetectFromPath relativePath } ]
              |> Seq.groupBy (fun info -> info.DllName,info.Condition.FrameworkVersion.GetGroup())
              |> Seq.groupBy (fun ((name,_),_) -> name)
  
          for _,group1 in installInfos do
              let libsWithSameName = group1 |> Seq.toArray
              for (_,frameworkVersion),libs in libsWithSameName do
  
negative.code:                       yield x.Inner()
                        yield "    </Reference>" ])
  
  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 = 
  