anchor.diff:          |> List.filter (getDescendants "PrivateAssets" >>
                           List.exists (fun x -> x.InnerText = "All") >>
                           not)
  -        
  +
       let getPackageReferences project =
           packageReferencesNoPrivateAssets project
  -        |> List.map (getAttribute "Include" >> Option.get)
  +        |> List.map (getPackageIdAttribute project)
   
       let getCliReferences project =
           cliToolsNoPrivateAssets project
  
positive.code:                     VersionRange.AtLeast (v.Replace("*","0"))
                  else
                      VersionRange.Exactly v
  
              { NugetPackage.Id = node |> getAttribute "Include" |> Option.get
                VersionRange = versionRange
                Kind = NugetPackageKind.Package
                TargetFramework = None })
  
negative.code:     /// Append two maps with the properties of the second replacing properties of the first
      let private appendMap first second =
          Map.fold (fun state key value -> Map.add key value state) first second
  
      let inline getPackageIdAttribute (pf:ProjectFile) (node:XmlNode) =
          node |> getAttribute "Include"
          |> Option.orElseWith (fun _ -> node |> getAttribute "Update")
          |> Option.defaultWith (fun _ -> failwithf "project file '%s' contains a reference without 'Include' or 'Update' attribute" pf.FileName)
  
      let private calculatePropertyMap (projectFile:ProjectFile) defaultProperties =
          let defaultProperties = appendMap defaultProperties (getReservedProperties projectFile)
  