static int CompareFrameworksByVersion (Framework fx1, Framework fx2) { if (fx1.MinimumVersion < fx2.MinimumVersion) return -1; if (fx1.MinimumVersion > fx2.MinimumVersion) return 1; if (fx1.MaximumVersion < fx2.MaximumVersion) return -1; if (fx1.MaximumVersion > fx2.MaximumVersion) return 1; return 0; }
internal static Framework Load (TargetFramework target, string path) { Framework fx = new Framework (target); using (var reader = XmlReader.Create (path)) { if (!reader.ReadToDescendant ("Framework")) throw new Exception ("Missing Framework element"); if (!reader.HasAttributes) throw new Exception ("Framework element does not contain any attributes"); while (reader.MoveToNextAttribute ()) { switch (reader.Name) { case "MaximumVersion": fx.MaximumVersion = ParseVersion (reader.Value, NoMaximumVersion); break; case "MinimumVersion": fx.MinimumVersion = ParseVersion (reader.Value, NoMinumumVersion); break; case "Profile": fx.Profile = reader.Value; break; case "Identifier": fx.Identifier = reader.Value; break; case "MinimumVersionDisplayName": fx.MinimumVersionDisplayName = reader.Value; break; case "DisplayName": fx.DisplayName = reader.Value; break; } } } return fx; }