anchor.diff:                          | DotNetFramework(v,_) ->
                               if libsWithSameName.Length = 1 then true,"true" else
                               let profileTypeCondition =
  -                                if not <| DLLGrouping.hasClientProfile libsWithSameFrameworkVersion then "" else
  +                                if not <| InstallRules.hasClientProfile libsWithSameFrameworkVersion then "" else
                                   sprintf " And $(TargetFrameworkProfile) == '%s'" (match lib.Condition.Framework with | DotNetFramework(_,Client) -> "Client" | _ -> "")
                               match v with
                               | Unknown -> false,"true" 
  
positive.code:     Condition : FramworkCondition
  }
  
  module DLLGrouping = 
      let groupDLLs (usedPackages : HashSet<string>) extracted = 
          [ for package, libraries in extracted do
                if usedPackages.Contains package.Name then 
  
negative.code:             if node.ChildNodes.Count = 0 then
                  node.ParentNode.RemoveChild(node) |> ignore
  
      member this.HasCustomNodes(dllName) =
          let hasCustom = ref false
          for node in this.Document.SelectNodes("//ns:Reference", this.Namespaces) do
              if node.Attributes.["Include"].InnerText.Split(',').[0] = dllName then
                  let isPaket = ref false
                  for child in node.ChildNodes do
                      if child.Name = "Paket" then 
                          isPaket := true
                  if not !isPaket then
                      hasCustom := true
              
          !hasCustom
  
      member this.DeletePaketNodes() =
          for node in this.Document.SelectNodes("//ns:Project/ns:Choose/ns:When/ns:ItemGroup/ns:Reference", this.Namespaces) do
              let remove = ref false
  