<?xml version="1.0"?>
<doc>
    <assembly>
        <name>NuGet.Versioning</name>
    </assembly>
    <members>
        <member name="T:NuGet.Versioning.FloatRange">
            <summary>
            The floating subset of a version range.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.FloatRange.#ctor(NuGet.Versioning.NuGetVersionFloatBehavior)">
            <summary>
            Create a floating range.
            </summary>
            <param name="floatBehavior">Section to float.</param>
        </member>
        <member name="M:NuGet.Versioning.FloatRange.#ctor(NuGet.Versioning.NuGetVersionFloatBehavior,NuGet.Versioning.NuGetVersion)">
            <summary>
            Create a floating range.
            </summary>
            <param name="floatBehavior">Section to float.</param>
            <param name="minVersion">Min version of the range.</param>
        </member>
        <member name="M:NuGet.Versioning.FloatRange.#ctor(NuGet.Versioning.NuGetVersionFloatBehavior,NuGet.Versioning.NuGetVersion,System.String)">
            <summary>
            FloatRange
            </summary>
            <param name="floatBehavior">Section to float.</param>
            <param name="minVersion">Min version of the range.</param>
            <param name="releasePrefix">The original release label. Invalid labels are allowed here.</param>
        </member>
        <member name="P:NuGet.Versioning.FloatRange.HasMinVersion">
            <summary>
            True if a min range exists.
            </summary>
        </member>
        <member name="P:NuGet.Versioning.FloatRange.MinVersion">
            <summary>
            The minimum version of the float range. This is null for cases such as *
            </summary>
        </member>
        <member name="P:NuGet.Versioning.FloatRange.FloatBehavior">
            <summary>
            Defined float behavior
            </summary>
        </member>
        <member name="P:NuGet.Versioning.FloatRange.OriginalReleasePrefix">
            <summary>
            The original release label. Invalid labels are allowed here.
            </summary>
        </member>
        <member name="P:NuGet.Versioning.FloatRange.IncludePrerelease">
            <summary>
            Indicates if the <see cref="P:NuGet.Versioning.FloatRange.FloatBehavior"/> includes prerelease versions.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.FloatRange.Satisfies(NuGet.Versioning.NuGetVersion)">
            <summary>
            True if the given version falls into the floating range.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.FloatRange.Parse(System.String)">
            <summary>
            Parse a floating version into a FloatRange
            </summary>
        </member>
        <member name="M:NuGet.Versioning.FloatRange.TryParse(System.String,NuGet.Versioning.FloatRange@)">
            <summary>
            Parse a floating version into a FloatRange
            </summary>
        </member>
        <member name="M:NuGet.Versioning.FloatRange.ToString">
            <summary>
            Create a floating version string in the format: 1.0.0-alpha-*
            </summary>
        </member>
        <member name="M:NuGet.Versioning.FloatRange.ToString(System.Text.StringBuilder)">
            <summary>
            Create a floating version string in the format: 1.0.0-alpha-*
            </summary>
        </member>
        <member name="M:NuGet.Versioning.FloatRange.Equals(NuGet.Versioning.FloatRange)">
            <summary>
            Equals
            </summary>
        </member>
        <member name="M:NuGet.Versioning.FloatRange.Equals(System.Object)">
            <summary>
            Override Object.Equals
            </summary>
            <param name="obj"></param>
            <returns></returns>
        </member>
        <member name="M:NuGet.Versioning.FloatRange.GetHashCode">
            <summary>
            Hash code
            </summary>
        </member>
        <member name="T:NuGet.Versioning.INuGetVersionable">
            <summary>
            An item that exposes a NuGetVersion
            </summary>
        </member>
        <member name="P:NuGet.Versioning.INuGetVersionable.Version">
            <summary>
            NuGet semantic version
            </summary>
        </member>
        <member name="T:NuGet.Versioning.IVersionComparer">
            <summary>
            IVersionComparer represents a version comparer capable of sorting and determining the equality of
            SemanticVersion objects.
            </summary>
        </member>
        <member name="T:NuGet.Versioning.IVersionRangeComparer">
            <summary>
            Version range comparer
            </summary>
        </member>
        <member name="T:NuGet.Versioning.NuGetVersion">
            <summary>
            A hybrid implementation of SemVer that supports semantic versioning as described at http://semver.org while
            not strictly enforcing it to
            allow older 4-digit versioning schemes to continue working.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.NuGetVersion.#ctor(System.String)">
            <summary>
            Creates a NuGetVersion using NuGetVersion.Parse(string)
            </summary>
            <param name="version">Version string</param>
        </member>
        <member name="M:NuGet.Versioning.NuGetVersion.#ctor(NuGet.Versioning.NuGetVersion)">
            <summary>
            Creates a NuGetVersion from an existing NuGetVersion
            </summary>
        </member>
        <member name="M:NuGet.Versioning.NuGetVersion.#ctor(System.Version,System.String,System.String)">
            <summary>
            Creates a NuGetVersion from a .NET Version
            </summary>
            <param name="version">Version numbers</param>
            <param name="releaseLabel">Prerelease label</param>
            <param name="metadata">Build metadata</param>
        </member>
        <member name="M:NuGet.Versioning.NuGetVersion.#ctor(System.Int32,System.Int32,System.Int32)">
            <summary>
            Creates a NuGetVersion X.Y.Z
            </summary>
            <param name="major">X.y.z</param>
            <param name="minor">x.Y.z</param>
            <param name="patch">x.y.Z</param>
        </member>
        <member name="M:NuGet.Versioning.NuGetVersion.#ctor(System.Int32,System.Int32,System.Int32,System.String)">
            <summary>
            Creates a NuGetVersion X.Y.Z-alpha
            </summary>
            <param name="major">X.y.z</param>
            <param name="minor">x.Y.z</param>
            <param name="patch">x.y.Z</param>
            <param name="releaseLabel">Prerelease label</param>
        </member>
        <member name="M:NuGet.Versioning.NuGetVersion.#ctor(System.Int32,System.Int32,System.Int32,System.String,System.String)">
            <summary>
            Creates a NuGetVersion X.Y.Z-alpha#build01
            </summary>
            <param name="major">X.y.z</param>
            <param name="minor">x.Y.z</param>
            <param name="patch">x.y.Z</param>
            <param name="releaseLabel">Prerelease label</param>
            <param name="metadata">Build metadata</param>
        </member>
        <member name="M:NuGet.Versioning.NuGetVersion.#ctor(System.Int32,System.Int32,System.Int32,System.Collections.Generic.IEnumerable{System.String},System.String)">
            <summary>
            Creates a NuGetVersion X.Y.Z-alpha.1.2#build01
            </summary>
            <param name="major">X.y.z</param>
            <param name="minor">x.Y.z</param>
            <param name="patch">x.y.Z</param>
            <param name="releaseLabels">Prerelease labels</param>
            <param name="metadata">Build metadata</param>
        </member>
        <member name="M:NuGet.Versioning.NuGetVersion.#ctor(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Creates a NuGetVersion W.X.Y.Z
            </summary>
            <param name="major">W.x.y.z</param>
            <param name="minor">w.X.y.z</param>
            <param name="patch">w.x.Y.z</param>
            <param name="revision">w.x.y.Z</param>
        </member>
        <member name="M:NuGet.Versioning.NuGetVersion.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.String,System.String)">
            <summary>
            Creates a NuGetVersion W.X.Y.Z-alpha#build01
            </summary>
            <param name="major">W.x.y.z</param>
            <param name="minor">w.X.y.z</param>
            <param name="patch">w.x.Y.z</param>
            <param name="revision">w.x.y.Z</param>
            <param name="releaseLabel">Prerelease label</param>
            <param name="metadata">Build metadata</param>
        </member>
        <member name="M:NuGet.Versioning.NuGetVersion.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Collections.Generic.IEnumerable{System.String},System.String)">
            <summary>
            Creates a NuGetVersion W.X.Y.Z-alpha.1#build01
            </summary>
            <param name="major">W.x.y.z</param>
            <param name="minor">w.X.y.z</param>
            <param name="patch">w.x.Y.z</param>
            <param name="revision">w.x.y.Z</param>
            <param name="releaseLabels">Prerelease labels</param>
            <param name="metadata">Build metadata</param>
        </member>
        <member name="M:NuGet.Versioning.NuGetVersion.#ctor(System.Version,System.Collections.Generic.IEnumerable{System.String},System.String,System.String)">
            <summary>
            Creates a NuGetVersion from a .NET Version with additional release labels, build metadata, and a
            non-normalized version string.
            </summary>
            <param name="version">Version numbers</param>
            <param name="releaseLabels">prerelease labels</param>
            <param name="metadata">Build metadata</param>
            <param name="originalVersion">Non-normalized original version string</param>
        </member>
        <member name="M:NuGet.Versioning.NuGetVersion.ToString">
            <summary>
            Returns the version string.
            </summary>
            <remarks>This method includes legacy behavior. Use ToNormalizedString() instead.</remarks>
            <remarks>Versions with SemVer 2.0.0 components are automatically normalized.</remarks>
        </member>
        <member name="P:NuGet.Versioning.NuGetVersion.Version">
            <summary>
            A System.Version representation of the version without metadata or release labels.
            </summary>
        </member>
        <member name="P:NuGet.Versioning.NuGetVersion.IsLegacyVersion">
            <summary>
            True if the NuGetVersion is using legacy behavior.
            </summary>
        </member>
        <member name="P:NuGet.Versioning.NuGetVersion.Revision">
            <summary>
            Revision version R (x.y.z.R)
            </summary>
        </member>
        <member name="P:NuGet.Versioning.NuGetVersion.IsSemVer2">
            <summary>
            Returns true if version is a SemVer 2.0.0 version
            </summary>
        </member>
        <member name="P:NuGet.Versioning.NuGetVersion.OriginalVersion">
            <summary>
            Returns the original, non-normalized version string.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.NuGetVersion.Parse(System.String)">
            <summary>
            Creates a NuGetVersion from a string representing the semantic version.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.NuGetVersion.TryParse(System.String,NuGet.Versioning.NuGetVersion@)">
            <summary>
            Parses a version string using loose semantic versioning rules that allows 2-4 version components followed
            by an optional special version.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.NuGetVersion.TryParseStrict(System.String,NuGet.Versioning.NuGetVersion@)">
            <summary>
            Parses a version string using strict SemVer rules.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.NuGetVersion.GetLegacyString(System.Version,System.Collections.Generic.IEnumerable{System.String},System.String)">
            <summary>
            Creates a legacy version string using System.Version
            </summary>
        </member>
        <member name="T:NuGet.Versioning.NuGetVersionFloatBehavior">
            <summary>
            Specifies the floating behavior type.
            </summary>
        </member>
        <member name="F:NuGet.Versioning.NuGetVersionFloatBehavior.None">
            <summary>
            Lowest version, no float
            </summary>
        </member>
        <member name="F:NuGet.Versioning.NuGetVersionFloatBehavior.Prerelease">
            <summary>
            Highest matching pre-release label
            </summary>
        </member>
        <member name="F:NuGet.Versioning.NuGetVersionFloatBehavior.Revision">
            <summary>
            x.y.z.*
            </summary>
        </member>
        <member name="F:NuGet.Versioning.NuGetVersionFloatBehavior.Patch">
            <summary>
            x.y.*
            </summary>
        </member>
        <member name="F:NuGet.Versioning.NuGetVersionFloatBehavior.Minor">
            <summary>
            x.*
            </summary>
        </member>
        <member name="F:NuGet.Versioning.NuGetVersionFloatBehavior.Major">
            <summary>
            *
            </summary>
        </member>
        <member name="F:NuGet.Versioning.NuGetVersionFloatBehavior.AbsoluteLatest">
            <summary>
            Float major and pre-release, *-*
            </summary>
        </member>
        <member name="F:NuGet.Versioning.NuGetVersionFloatBehavior.PrereleaseRevision">
            <summary>
            Float revision and pre-release x.y.z.*-*
            </summary>
        </member>
        <member name="F:NuGet.Versioning.NuGetVersionFloatBehavior.PrereleasePatch">
            <summary>
            Float patch and pre-release x.y.*-*
            </summary>
        </member>
        <member name="F:NuGet.Versioning.NuGetVersionFloatBehavior.PrereleaseMinor">
            <summary>
            Float minor and pre-release x.*-*
            </summary>
        </member>
        <member name="F:NuGet.Versioning.NuGetVersionFloatBehavior.PrereleaseMajor">
            <summary>
            Float major and prerelease, but only with partial prerelease *-rc.*.
            *-* is captured by <see cref="F:NuGet.Versioning.NuGetVersionFloatBehavior.AbsoluteLatest"/>
            </summary>
        </member>
        <member name="T:NuGet.Versioning.Resources">
            <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
        </member>
        <member name="P:NuGet.Versioning.Resources.ResourceManager">
            <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
        </member>
        <member name="P:NuGet.Versioning.Resources.Culture">
            <summary>
              Overrides the current thread's CurrentUICulture property for all
              resource lookups using this strongly typed resource class.
            </summary>
        </member>
        <member name="P:NuGet.Versioning.Resources.Argument_Cannot_Be_Null_Or_Empty">
            <summary>
              Looks up a localized string similar to Value cannot be null or an empty string..
            </summary>
        </member>
        <member name="P:NuGet.Versioning.Resources.CannotBeNullWhenParameterIsNotNull">
            <summary>
              Looks up a localized string similar to Parameter &apos;{0}&apos; cannot be null when parameter &apos;{1}&apos; is not null..
            </summary>
        </member>
        <member name="P:NuGet.Versioning.Resources.InvalidFloatRangeValue">
            <summary>
              Looks up a localized string similar to &apos;{0}&apos; is not a valid float range string..
            </summary>
        </member>
        <member name="P:NuGet.Versioning.Resources.Invalidvalue">
            <summary>
              Looks up a localized string similar to &apos;{0}&apos; is not a valid version string..
            </summary>
        </member>
        <member name="P:NuGet.Versioning.Resources.TypeNotSupported">
            <summary>
              Looks up a localized string similar to Type &apos;{0}&apos; is not supported..
            </summary>
        </member>
        <member name="T:NuGet.Versioning.ResourcesFormatter">
            <summary>Strings that contain {x} arguments might throw exceptions in string.Format when the number of
            arguments change, but the args to string.Format do not. By putting all calls to a particular resource in
            a C# class, we can use the compiler to check that all references pass the correct number of arguments.
            </summary>
        </member>
        <member name="T:NuGet.Versioning.SemanticVersion">
            <summary>
            A strict SemVer implementation
            </summary>
            <summary>
            A base version operations
            </summary>
        </member>
        <member name="M:NuGet.Versioning.SemanticVersion.#ctor(NuGet.Versioning.SemanticVersion)">
            <summary>
            Creates a SemanticVersion from an existing SemanticVersion
            </summary>
            <param name="version">Version to clone.</param>
        </member>
        <member name="M:NuGet.Versioning.SemanticVersion.#ctor(System.Int32,System.Int32,System.Int32)">
            <summary>
            Creates a SemanticVersion X.Y.Z
            </summary>
            <param name="major">X.y.z</param>
            <param name="minor">x.Y.z</param>
            <param name="patch">x.y.Z</param>
        </member>
        <member name="M:NuGet.Versioning.SemanticVersion.#ctor(System.Int32,System.Int32,System.Int32,System.String)">
            <summary>
            Creates a NuGetVersion X.Y.Z-alpha
            </summary>
            <param name="major">X.y.z</param>
            <param name="minor">x.Y.z</param>
            <param name="patch">x.y.Z</param>
            <param name="releaseLabel">Prerelease label</param>
        </member>
        <member name="M:NuGet.Versioning.SemanticVersion.#ctor(System.Int32,System.Int32,System.Int32,System.String,System.String)">
            <summary>
            Creates a NuGetVersion X.Y.Z-alpha#build01
            </summary>
            <param name="major">X.y.z</param>
            <param name="minor">x.Y.z</param>
            <param name="patch">x.y.Z</param>
            <param name="releaseLabel">Prerelease label</param>
            <param name="metadata">Build metadata</param>
        </member>
        <member name="M:NuGet.Versioning.SemanticVersion.#ctor(System.Int32,System.Int32,System.Int32,System.Collections.Generic.IEnumerable{System.String},System.String)">
            <summary>
            Creates a NuGetVersion X.Y.Z-alpha.1.2#build01
            </summary>
            <param name="major">X.y.z</param>
            <param name="minor">x.Y.z</param>
            <param name="patch">x.y.Z</param>
            <param name="releaseLabels">Release labels that have been split by the dot separator</param>
            <param name="metadata">Build metadata</param>
        </member>
        <member name="M:NuGet.Versioning.SemanticVersion.#ctor(System.Version,System.String,System.String)">
            <summary>
            Internal constructor.
            </summary>
            <param name="version">Version</param>
            <param name="releaseLabel">Full release label</param>
            <param name="metadata">Build metadata</param>
        </member>
        <member name="M:NuGet.Versioning.SemanticVersion.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.String,System.String)">
            <summary>
            Internal constructor.
            </summary>
            <param name="major">X.y.z</param>
            <param name="minor">x.Y.z</param>
            <param name="patch">x.y.Z</param>
            <param name="revision">x.y.z.R</param>
            <param name="releaseLabel">Prerelease label</param>
            <param name="metadata">Build metadata</param>
        </member>
        <member name="M:NuGet.Versioning.SemanticVersion.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Collections.Generic.IEnumerable{System.String},System.String)">
            <summary>
            Internal constructor.
            </summary>
            <param name="major"></param>
            <param name="minor"></param>
            <param name="patch"></param>
            <param name="revision"></param>
            <param name="releaseLabels"></param>
            <param name="metadata"></param>
        </member>
        <member name="M:NuGet.Versioning.SemanticVersion.#ctor(System.Version,System.Collections.Generic.IEnumerable{System.String},System.String)">
            <summary>
            Internal constructor.
            </summary>
            <param name="version">Version</param>
            <param name="releaseLabels">Release labels</param>
            <param name="metadata">Build metadata</param>
        </member>
        <member name="P:NuGet.Versioning.SemanticVersion.Major">
            <summary>
            Major version X (X.y.z)
            </summary>
        </member>
        <member name="P:NuGet.Versioning.SemanticVersion.Minor">
            <summary>
            Minor version Y (x.Y.z)
            </summary>
        </member>
        <member name="P:NuGet.Versioning.SemanticVersion.Patch">
            <summary>
            Patch version Z (x.y.Z)
            </summary>
        </member>
        <member name="P:NuGet.Versioning.SemanticVersion.ReleaseLabels">
            <summary>
            A collection of pre-release labels attached to the version.
            </summary>
        </member>
        <member name="P:NuGet.Versioning.SemanticVersion.Release">
            <summary>
            The full pre-release label for the version.
            </summary>
        </member>
        <member name="P:NuGet.Versioning.SemanticVersion.IsPrerelease">
            <summary>
            True if pre-release labels exist for the version.
            </summary>
        </member>
        <member name="P:NuGet.Versioning.SemanticVersion.HasMetadata">
            <summary>
            True if metadata exists for the version.
            </summary>
        </member>
        <member name="P:NuGet.Versioning.SemanticVersion.Metadata">
            <summary>
            Build metadata attached to the version.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.SemanticVersion.ToNormalizedString">
            <summary>
            Gives a normalized representation of the version.
            This string is unique to the identity of the version and does not contain metadata.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.SemanticVersion.ToFullString">
            <summary>
            Gives a full representation of the version include metadata.
            This string is not unique to the identity of the version. Other versions 
            that differ on metadata will have a different full string representation.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.SemanticVersion.ToString">
            <summary>
            Get the normalized string.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.SemanticVersion.ToString(System.String,System.IFormatProvider)">
            <summary>
            Custom string format.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.SemanticVersion.TryFormatter(System.String,System.IFormatProvider,System.String@)">
            <summary>
            Internal string formatter.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.SemanticVersion.GetHashCode">
            <summary>
            Hash code
            </summary>
        </member>
        <member name="M:NuGet.Versioning.SemanticVersion.CompareTo(System.Object)">
            <summary>
            Object compare.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.SemanticVersion.CompareTo(NuGet.Versioning.SemanticVersion)">
            <summary>
            Compare to another SemanticVersion.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.SemanticVersion.Equals(System.Object)">
            <summary>
            Equals
            </summary>
        </member>
        <member name="M:NuGet.Versioning.SemanticVersion.Equals(NuGet.Versioning.SemanticVersion)">
            <summary>
            Equals
            </summary>
        </member>
        <member name="M:NuGet.Versioning.SemanticVersion.Equals(NuGet.Versioning.SemanticVersion,NuGet.Versioning.VersionComparison)">
            <summary>
            True if the VersionBase objects are equal based on the given comparison mode.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.SemanticVersion.CompareTo(NuGet.Versioning.SemanticVersion,NuGet.Versioning.VersionComparison)">
            <summary>
            Compares NuGetVersion objects using the given comparison mode.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.SemanticVersion.op_Equality(NuGet.Versioning.SemanticVersion,NuGet.Versioning.SemanticVersion)">
            <summary>
            Equals
            </summary>
        </member>
        <member name="M:NuGet.Versioning.SemanticVersion.op_Inequality(NuGet.Versioning.SemanticVersion,NuGet.Versioning.SemanticVersion)">
            <summary>
            Not equal
            </summary>
        </member>
        <member name="M:NuGet.Versioning.SemanticVersion.op_LessThan(NuGet.Versioning.SemanticVersion,NuGet.Versioning.SemanticVersion)">
            <summary>
            Less than
            </summary>
        </member>
        <member name="M:NuGet.Versioning.SemanticVersion.op_LessThanOrEqual(NuGet.Versioning.SemanticVersion,NuGet.Versioning.SemanticVersion)">
            <summary>
            Less than or equal
            </summary>
        </member>
        <member name="M:NuGet.Versioning.SemanticVersion.op_GreaterThan(NuGet.Versioning.SemanticVersion,NuGet.Versioning.SemanticVersion)">
            <summary>
            Greater than
            </summary>
        </member>
        <member name="M:NuGet.Versioning.SemanticVersion.op_GreaterThanOrEqual(NuGet.Versioning.SemanticVersion,NuGet.Versioning.SemanticVersion)">
            <summary>
            Greater than or equal
            </summary>
        </member>
        <member name="M:NuGet.Versioning.SemanticVersion.Parse(System.String)">
            <summary>
            Parses a SemVer string using strict SemVer rules.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.SemanticVersion.TryParse(System.String,NuGet.Versioning.SemanticVersion@)">
            <summary>
            Parse a version string
            </summary>
            <returns>false if the version is not a strict semver</returns>
        </member>
        <member name="M:NuGet.Versioning.SemanticVersion.ParseSections(System.String,System.String@,System.String[]@,System.String@)">
            <summary>
            Parse the version string into version/release/build
            The goal of this code is to take the most direct and optimized path
            to parsing and validating a semver. Regex would be much cleaner, but
            due to the number of versions created in NuGet Regex is too slow.
            </summary>
        </member>
        <member name="T:NuGet.Versioning.SemanticVersionConverter">
            <summary>
            Provides a type converter to convert <see cref="T:NuGet.Versioning.SemanticVersion"/> objects to and from various other representations.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.SemanticVersionConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
            <summary>
            Gets a value indicating whether this converter can convert an object in the given source type to a
            <see cref="T:NuGet.Versioning.SemanticVersion"/> using the specified context.
            </summary>
            <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext"/> that provides a format context.</param>
            <param name="sourceType">A <see cref="T:System.Type"/> that represents the type you wish to convert from.</param>
            <returns><see langword="true" /> if this object can perform the conversion; otherwise, <see langword="false" />.</returns>
        </member>
        <member name="M:NuGet.Versioning.SemanticVersionConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
            <summary>
            Converts the given object to the type of this converter, using the specified context and culture information.
            </summary>
            <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext"/> that provides a format context.</param>
            <param name="culture">The <see cref="T:System.Globalization.CultureInfo"/> to use as the current culture.</param>
            <param name="value">The <see cref="T:System.Object"/> to convert.</param>
            <returns>An <see cref="T:System.Object" /> that represents the converted value.</returns>
            <exception cref="T:System.ArgumentException"><c>value</c> is not a valid value for the target type.</exception>
            <exception cref="T:System.NotSupportedException">The conversion cannot be performed.</exception>
        </member>
        <member name="M:NuGet.Versioning.SemanticVersionConverter.CanConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Type)">
            <summary>
            Gets a value indicating whether this converter can convert an object to the given destination type using the context.
            </summary>
            <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext"/> that provides a format context.</param>
            <param name="destinationType">A <see cref="T:System.Type"/> that represents the type you wish to convert to.</param>
            <returns><see langword="true" /> if this object can perform the conversion; otherwise, <see langword="false" />.</returns>
        </member>
        <member name="M:NuGet.Versioning.SemanticVersionConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type)">
            <summary>
            Converts the given value object to a <see cref="T:NuGet.Versioning.SemanticVersion"/> object using the arguments.
            </summary>
            <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext"/> that provides a format context.</param>
            <param name="culture">The <see cref="T:System.Globalization.CultureInfo"/> to use as the current culture.</param>
            <param name="value">The <see cref="T:System.Object"/> to convert.</param>
            <param name="destinationType">The <see cref="T:System.Type"/> to convert the value to.</param>
            <returns>An <see cref="T:System.Object" /> that represents the converted value.</returns>
            <exception cref="T:System.NotSupportedException">The conversion cannot be performed.</exception>
        </member>
        <member name="T:NuGet.Versioning.VersionComparer">
            <summary>
            An IVersionComparer for NuGetVersion and NuGetVersion types.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionComparer.Get(NuGet.Versioning.VersionComparison)">
            <summary>
            Gets an IVersionComparer based on the specified VersionComparison mode.
            </summary>
            <param name="versionComparison">The version comparison mode to use.</param>
            <returns>An IVersionComparer instance.</returns>
        </member>
        <member name="M:NuGet.Versioning.VersionComparer.#ctor">
            <summary>
            Creates a VersionComparer using the default mode.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionComparer.#ctor(NuGet.Versioning.VersionComparison)">
            <summary>
            Creates a VersionComparer that respects the given comparison mode.
            </summary>
            <param name="versionComparison">comparison mode</param>
        </member>
        <member name="M:NuGet.Versioning.VersionComparer.Equals(NuGet.Versioning.SemanticVersion,NuGet.Versioning.SemanticVersion)">
            <summary>
            Determines if both versions are equal.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionComparer.Compare(NuGet.Versioning.SemanticVersion,NuGet.Versioning.SemanticVersion,NuGet.Versioning.VersionComparison)">
            <summary>
            Compares the given versions using the VersionComparison mode.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionComparer.GetHashCode(NuGet.Versioning.SemanticVersion)">
            <summary>
            Gives a hash code based on the normalized version string.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionComparer.Compare(NuGet.Versioning.SemanticVersion,NuGet.Versioning.SemanticVersion)">
            <summary>
            Compare versions.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionComparer.CompareLegacyVersion(NuGet.Versioning.NuGetVersion,NuGet.Versioning.NuGetVersion)">
            <summary>
            Compares the 4th digit of the version number.
            </summary>
        </member>
        <member name="F:NuGet.Versioning.VersionComparer.Default">
            <summary>
            A default comparer that compares metadata as strings.
            </summary>
        </member>
        <member name="F:NuGet.Versioning.VersionComparer.Version">
            <summary>
            A comparer that uses only the version numbers.
            </summary>
        </member>
        <member name="F:NuGet.Versioning.VersionComparer.VersionRelease">
            <summary>
            Compares versions without comparing the metadata.
            </summary>
        </member>
        <member name="F:NuGet.Versioning.VersionComparer.VersionReleaseMetadata">
            <summary>
            A version comparer that follows SemVer 2.0.0 rules.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionComparer.CompareReleaseLabels(System.String[],System.String[])">
            <summary>
            Compares sets of release labels.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionComparer.CompareRelease(System.String,System.String)">
            <summary>
            Release labels are compared as numbers if they are numeric, otherwise they will be compared
            as strings.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionComparer.GetReleaseLabelsOrNull(NuGet.Versioning.SemanticVersion)">
            <summary>
            Returns an array of release labels from the version, or null.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionComparer.AreReleaseLabelsEqual(NuGet.Versioning.SemanticVersion,NuGet.Versioning.SemanticVersion)">
            <summary>
            Compare release labels
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionComparer.GetRevisionOrZero(NuGet.Versioning.SemanticVersion)">
            <summary>
            Returns the fourth version number or zero.
            </summary>
        </member>
        <member name="T:NuGet.Versioning.VersionComparison">
            <summary>
            Version comparison modes.
            </summary>
        </member>
        <member name="F:NuGet.Versioning.VersionComparison.Default">
            <summary>
            Semantic version 2.0.1-rc comparison with additional compares for extra NuGetVersion fields.
            </summary>
        </member>
        <member name="F:NuGet.Versioning.VersionComparison.Version">
            <summary>
            Compares only the version numbers.
            </summary>
        </member>
        <member name="F:NuGet.Versioning.VersionComparison.VersionRelease">
            <summary>
            Include Version number and Release labels in the compare.
            </summary>
        </member>
        <member name="F:NuGet.Versioning.VersionComparison.VersionReleaseMetadata">
            <summary>
            Include all metadata during the compare.
            </summary>
        </member>
        <member name="T:NuGet.Versioning.VersionExtensions">
            <summary>
            Version extension methods.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionExtensions.FindBestMatch``1(System.Collections.Generic.IEnumerable{``0},NuGet.Versioning.VersionRange,System.Func{``0,NuGet.Versioning.NuGetVersion})">
            <summary>
            Find the version that best matches the VersionRange and the floating behavior.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionExtensions.FindBestMatch(System.Collections.Generic.IEnumerable{NuGet.Versioning.INuGetVersionable},NuGet.Versioning.VersionRange)">
            <summary>
            Find the version that best matches the VersionRange and the floating behavior.
            </summary>
        </member>
        <member name="T:NuGet.Versioning.VersionFormatter">
            <summary>
            Custom formatter for NuGet versions.
            </summary>
        </member>
        <member name="F:NuGet.Versioning.VersionFormatter.Instance">
            <summary>
            A static instance of the VersionFormatter class.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionFormatter.Format(System.String,System.Object,System.IFormatProvider)">
            <summary>
            Format a version string.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionFormatter.GetFormat(System.Type)">
            <summary>
            Get version format type.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionFormatter.AppendFull(System.Text.StringBuilder,NuGet.Versioning.SemanticVersion)">
            <summary>
            Appends the full version string including metadata. This is primarily for display purposes.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionFormatter.AppendNormalized(System.Text.StringBuilder,NuGet.Versioning.SemanticVersion)">
            <summary>
            Appends a normalized version string. This string is unique for each version 'identity' 
            and does not include leading zeros or metadata.
            </summary>
        </member>
        <member name="T:NuGet.Versioning.VersionRange">
            <summary>
            Represents a range of versions and a preferred order.
            </summary>
            <remarks>
            Immutable, although subclasses may introduce mutable state.
            </remarks>
        </member>
        <member name="M:NuGet.Versioning.VersionRange.#ctor(NuGet.Versioning.NuGetVersion)">
            <summary>
            Creates a range that is greater than or equal to the minVersion.
            </summary>
            <param name="minVersion">Lower bound of the version range.</param>
        </member>
        <member name="M:NuGet.Versioning.VersionRange.#ctor(NuGet.Versioning.NuGetVersion,NuGet.Versioning.FloatRange)">
            <summary>
            Creates a range that is greater than or equal to the minVersion with the given float behavior.
            </summary>
            <param name="minVersion">Lower bound of the version range.</param>
            <param name="floatRange">Floating behavior.</param>
        </member>
        <member name="M:NuGet.Versioning.VersionRange.#ctor(NuGet.Versioning.VersionRange,NuGet.Versioning.FloatRange)">
            <summary>
            Clones a version range and applies a new float range.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRange.#ctor(NuGet.Versioning.NuGetVersion,System.Boolean,NuGet.Versioning.NuGetVersion,System.Boolean,NuGet.Versioning.FloatRange,System.String)">
            <summary>
            Creates a VersionRange with the given min and max.
            </summary>
            <param name="minVersion">Lower bound of the version range.</param>
            <param name="includeMinVersion">True if minVersion satisfies the condition.</param>
            <param name="maxVersion">Upper bound of the version range.</param>
            <param name="includeMaxVersion">True if maxVersion satisfies the condition.</param>
            <param name="floatRange">The floating range subset used to find the best version match.</param>
            <param name="originalString">The original string being parsed to this object.</param>
        </member>
        <member name="P:NuGet.Versioning.VersionRange.IsFloating">
            <summary>
            True if the range has a floating version above the min version.
            </summary>
        </member>
        <member name="P:NuGet.Versioning.VersionRange.MinVersion">
            <inheritdoc cref="P:NuGet.Versioning.VersionRangeBase.MinVersion"/>
        </member>
        <member name="P:NuGet.Versioning.VersionRange.MaxVersion">
            <inheritdoc cref="P:NuGet.Versioning.VersionRangeBase.MaxVersion"/>
        </member>
        <member name="P:NuGet.Versioning.VersionRange.HasLowerBound">
            <inheritdoc cref="P:NuGet.Versioning.VersionRangeBase.HasLowerBound"/>
        </member>
        <member name="P:NuGet.Versioning.VersionRange.IsMinInclusive">
            <inheritdoc cref="P:NuGet.Versioning.VersionRangeBase.IsMinInclusive"/>
        </member>
        <member name="P:NuGet.Versioning.VersionRange.HasUpperBound">
            <inheritdoc cref="P:NuGet.Versioning.VersionRangeBase.HasUpperBound"/>
        </member>
        <member name="P:NuGet.Versioning.VersionRange.IsMaxInclusive">
            <inheritdoc cref="P:NuGet.Versioning.VersionRangeBase.IsMaxInclusive"/>
        </member>
        <member name="P:NuGet.Versioning.VersionRange.HasLowerAndUpperBounds">
            <inheritdoc cref="P:NuGet.Versioning.VersionRangeBase.HasLowerAndUpperBounds"/>
        </member>
        <member name="P:NuGet.Versioning.VersionRange.Float">
            <summary>
            Optional floating range used to determine the best version match.
            </summary>
        </member>
        <member name="P:NuGet.Versioning.VersionRange.OriginalString">
            <summary>
            Original string being parsed to this object.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRange.ToString">
            <summary>
            Normalized range string.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRange.ToNormalizedString">
            <summary>
            Normalized range string.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRange.ToLegacyString">
            <summary>
            A legacy version range compatible with NuGet 2.8.3
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRange.ToLegacyShortString">
            <summary>
            A short legacy version range compatible with NuGet 2.8.3.
            Ex: 1.0.0
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRange.ToString(System.String,System.IFormatProvider)">
            <summary>
            Format the version range with an IFormatProvider
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRange.TryFormatter(System.String,System.IFormatProvider,System.String@)">
            <summary>
            Format the range
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRange.PrettyPrint">
            <summary>
            Format the version range in Pretty Print format.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRange.FindBestMatch(System.Collections.Generic.IEnumerable{NuGet.Versioning.NuGetVersion})">
            <summary>
            Return the version that best matches the range.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRange.IsBetter(NuGet.Versioning.NuGetVersion,NuGet.Versioning.NuGetVersion)">
            <summary>
            Determines if a given version is better suited to the range than a current version.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRange.ToNonSnapshotRange">
            <summary>
            Removes the floating snapshot part of the minimum version if it exists.
            Ex: 1.0.0-* -> 1.0.0
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRange.GetNonSnapshotVersion(NuGet.Versioning.NuGetVersion)">
            <summary>
            Remove the snapshot version section of a version
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRange.ToShortString">
            <summary>
            ToLegacyShortString that also includes floating ranges
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRange.Equals(NuGet.Versioning.VersionRange)">
            <summary>
            Equals implementation for VersionRange.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRange.Equals(System.Object)">
            <summary>
            Compare the obj as VersionRange.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRange.GetHashCode">
            <summary>
            Returns the VersionRangeBase hashcode
            </summary>
        </member>
        <member name="F:NuGet.Versioning.VersionRange.All">
            <summary>
            A range that accepts all versions, prerelease and stable.
            </summary>
        </member>
        <member name="F:NuGet.Versioning.VersionRange.AllFloating">
            <summary>
            A range that accepts all versions, prerelease and stable, and floats to the highest.
            </summary>
        </member>
        <member name="F:NuGet.Versioning.VersionRange.AllStable">
            <summary>
            A range that accepts all stable versions
            </summary>
        </member>
        <member name="F:NuGet.Versioning.VersionRange.AllStableFloating">
            <summary>
            A range that accepts all versions, prerelease and stable, and floats to the highest.
            </summary>
        </member>
        <member name="F:NuGet.Versioning.VersionRange.None">
            <summary>
            A range that rejects all versions
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRange.Parse(System.String)">
            <summary>
            The version string is either a simple version or an arithmetic range
            e.g.
            1.0         --> 1.0 ≤ x
            (,1.0]      --> x ≤ 1.0
            (,1.0)      --> x &lt; 1.0
            [1.0]       --> x == 1.0
            (1.0,)      --> 1.0 &lt; x
            (1.0, 2.0)   --> 1.0 &lt; x &lt; 2.0
            [1.0, 2.0]   --> 1.0 ≤ x ≤ 2.0
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRange.Parse(System.String,System.Boolean)">
            <summary>
            Direct parse
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRange.TryParse(System.String,NuGet.Versioning.VersionRange@)">
            <summary>
            Parses a VersionRange from its string representation.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRange.TryParse(System.String,System.Boolean,NuGet.Versioning.VersionRange@)">
            <summary>
            Parses a VersionRange from its string representation.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRange.Combine(System.Collections.Generic.IEnumerable{NuGet.Versioning.NuGetVersion})">
            <summary>
            Returns the smallest range that includes all given versions.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRange.Combine(System.Collections.Generic.IEnumerable{NuGet.Versioning.NuGetVersion},NuGet.Versioning.IVersionComparer)">
            <summary>
            Returns the smallest range that includes all given versions.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRange.Combine(System.Collections.Generic.IEnumerable{NuGet.Versioning.VersionRange})">
            <summary>
            Returns the smallest range that includes all given ranges.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRange.Combine(System.Collections.Generic.IEnumerable{NuGet.Versioning.VersionRange},NuGet.Versioning.IVersionComparer)">
            <summary>
            Returns the smallest range that includes all given ranges.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRange.CommonSubSet(System.Collections.Generic.IEnumerable{NuGet.Versioning.VersionRange})">
            <summary>
            Returns the greatest common range that satisfies all given ranges.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRange.CommonSubSet(System.Collections.Generic.IEnumerable{NuGet.Versioning.VersionRange},NuGet.Versioning.IVersionComparer)">
            <summary>
            Returns the greatest common range that satisfies all given ranges.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRange.HasValidRange(NuGet.Versioning.VersionRange)">
            <summary>
            Verify the range has an actual width.
            Ex: no version can satisfy (3.0.0, 3.0.0)
            </summary>
        </member>
        <member name="T:NuGet.Versioning.VersionRangeBase">
            <summary>
            A base version range that handles ranges only and not any of the preferred version logic.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRangeBase.#ctor(NuGet.Versioning.NuGetVersion,System.Boolean,NuGet.Versioning.NuGetVersion,System.Boolean)">
            <summary>
            Creates a VersionRange with the given min and max.
            </summary>
            <param name="minVersion">Lower bound of the version range.</param>
            <param name="includeMinVersion">True if minVersion satisfies the condition.</param>
            <param name="maxVersion">Upper bound of the version range.</param>
            <param name="includeMaxVersion">True if maxVersion satisfies the condition.</param>
        </member>
        <member name="P:NuGet.Versioning.VersionRangeBase.HasLowerBound">
            <summary>
            True if MinVersion exists;
            </summary>
        </member>
        <member name="P:NuGet.Versioning.VersionRangeBase.HasUpperBound">
            <summary>
            True if MaxVersion exists.
            </summary>
        </member>
        <member name="P:NuGet.Versioning.VersionRangeBase.HasLowerAndUpperBounds">
            <summary>
            True if both MinVersion and MaxVersion exist.
            </summary>
        </member>
        <member name="P:NuGet.Versioning.VersionRangeBase.IsMinInclusive">
            <summary>
            True if MinVersion exists and is included in the range.
            </summary>
        </member>
        <member name="P:NuGet.Versioning.VersionRangeBase.IsMaxInclusive">
            <summary>
            True if MaxVersion exists and is included in the range.
            </summary>
        </member>
        <member name="P:NuGet.Versioning.VersionRangeBase.MaxVersion">
            <summary>
            Maximum version allowed by this range.
            </summary>
        </member>
        <member name="P:NuGet.Versioning.VersionRangeBase.MinVersion">
            <summary>
            Minimum version allowed by this range.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRangeBase.Satisfies(NuGet.Versioning.NuGetVersion)">
            <summary>
            Determines if an NuGetVersion meets the requirements.
            </summary>
            <param name="version">SemVer to compare</param>
            <returns>True if the given version meets the version requirements.</returns>
        </member>
        <member name="M:NuGet.Versioning.VersionRangeBase.Satisfies(NuGet.Versioning.NuGetVersion,NuGet.Versioning.VersionComparison)">
            <summary>
            Determines if an NuGetVersion meets the requirements using the given mode.
            </summary>
            <param name="version">SemVer to compare</param>
            <param name="versionComparison">VersionComparison mode used to determine the version range.</param>
            <returns>True if the given version meets the version requirements.</returns>
        </member>
        <member name="M:NuGet.Versioning.VersionRangeBase.Satisfies(NuGet.Versioning.NuGetVersion,NuGet.Versioning.IVersionComparer)">
            <summary>
            Determines if an NuGetVersion meets the requirements using the version comparer.
            </summary>
            <param name="version">SemVer to compare.</param>
            <param name="comparer">Version comparer used to determine if the version criteria is met.</param>
            <returns>True if the given version meets the version requirements.</returns>
        </member>
        <member name="M:NuGet.Versioning.VersionRangeBase.Equals(System.Object)">
            <summary>
            Compares the object as a VersionRange with the default comparer
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRangeBase.GetHashCode">
            <summary>
            Returns the hash code using the default comparer.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRangeBase.Equals(NuGet.Versioning.VersionRangeBase)">
            <summary>
            Default compare
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRangeBase.Equals(NuGet.Versioning.VersionRangeBase,NuGet.Versioning.IVersionRangeComparer)">
            <summary>
            Use the VersionRangeComparer for equality checks
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRangeBase.Equals(NuGet.Versioning.VersionRangeBase,NuGet.Versioning.VersionComparison)">
            <summary>
            Use a specific VersionComparison for comparison
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRangeBase.Equals(NuGet.Versioning.VersionRangeBase,NuGet.Versioning.IVersionComparer)">
            <summary>
            Use a specific IVersionComparer for comparison
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRangeBase.IsSubSetOrEqualTo(NuGet.Versioning.VersionRangeBase)">
            <summary>
            SubSet check
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRangeBase.IsSubSetOrEqualTo(NuGet.Versioning.VersionRangeBase,NuGet.Versioning.IVersionComparer)">
            <summary>
            SubSet check
            </summary>
        </member>
        <member name="P:NuGet.Versioning.VersionRangeBase.HasPrereleaseBounds">
            <summary>
            Infer if the range should allow prerelease versions based on if the lower or upper bounds 
            contain prerelease labels.
            </summary>
        </member>
        <member name="T:NuGet.Versioning.VersionRangeComparer">
            <summary>
            A version range comparer capable of using different VersionComparers to check if ranges are equivalent.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRangeComparer.#ctor">
            <summary>
            Default version range comparer.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRangeComparer.#ctor(NuGet.Versioning.VersionComparison)">
            <summary>
            Compare versions with a specific VersionComparison
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRangeComparer.#ctor(NuGet.Versioning.IVersionComparer)">
            <summary>
            Compare versions with a specific IVersionComparer
            </summary>
        </member>
        <member name="P:NuGet.Versioning.VersionRangeComparer.Default">
            <summary>
            Default Version comparer
            </summary>
        </member>
        <member name="P:NuGet.Versioning.VersionRangeComparer.VersionRelease">
            <summary>
            Compare versions using the Version and Release
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRangeComparer.Get(NuGet.Versioning.VersionComparison)">
            <summary>
            Gets the appropriate version range comparer based on the specified version comparison.
            </summary>
            <param name="versionComparison">The version comparison to use.</param>
            <returns>An instance of <see cref="T:NuGet.Versioning.IVersionRangeComparer"/>.</returns>
        </member>
        <member name="M:NuGet.Versioning.VersionRangeComparer.Equals(NuGet.Versioning.VersionRangeBase,NuGet.Versioning.VersionRangeBase)">
            <summary>
            Checks if two version ranges are equivalent. This follows the rules of the version comparer
            when checking the bounds.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRangeComparer.GetHashCode(NuGet.Versioning.VersionRangeBase)">
            <summary>
            Creates a hash code based on all properties of the range. This follows the rules of the
            version comparer when comparing the version bounds.
            </summary>
        </member>
        <member name="T:NuGet.Versioning.VersionRangeFormatter">
            <summary>
            Custom formatter for NuGet <see cref="T:NuGet.Versioning.VersionRange"/>.
            </summary>
        </member>
        <member name="F:NuGet.Versioning.VersionRangeFormatter.Instance">
            <summary>
            A static instance of the <see cref="T:NuGet.Versioning.VersionRangeFormatter"/> class.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRangeFormatter.Format(System.String,System.Object,System.IFormatProvider)">
            <summary>
            Format a version range string.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRangeFormatter.GetFormat(System.Type)">
            <summary>
            Format type.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRangeFormatter.GetNormalizedString(System.Text.StringBuilder,NuGet.Versioning.VersionRange)">
            <summary>
            Builds a normalized string with no short hand
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRangeFormatter.GetToString(System.Text.StringBuilder,NuGet.Versioning.VersionRange)">
            <summary>
            Builds a string to represent the VersionRange. This string can include short hand notations.
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRangeFormatter.GetLegacyShortString(System.Text.StringBuilder,NuGet.Versioning.VersionRangeBase)">
            <summary>
            Creates a legacy short string that is compatible with NuGet 2.8.3
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRangeFormatter.GetLegacyString(System.Text.StringBuilder,NuGet.Versioning.VersionRangeBase)">
            <summary>
            Creates a legacy string that is compatible with NuGet 2.8.3
            </summary>
        </member>
        <member name="M:NuGet.Versioning.VersionRangeFormatter.PrettyPrint(System.Text.StringBuilder,NuGet.Versioning.VersionRange,System.Boolean)">
            <summary>
            A pretty print representation of the VersionRange.
            </summary>
        </member>
        <member name="T:NuGet.SharedStringBuilder">
            <summary>
            Provides a resource pool that enables reusing instances of <see cref="T:System.Text.StringBuilder" /> instances.
            </summary>
            <remarks>
            <para>
            Renting and returning buffers with an <see cref="T:NuGet.StringBuilderPool" /> can increase performance
            in situations where <see cref="T:System.Text.StringBuilder" /> instances are created and destroyed frequently,
            resulting in significant memory pressure on the garbage collector.
            </para>
            <para>
            This class is thread-safe.  All members may be used by multiple threads concurrently.  The string
            builder must be returned, even if an exception is thrown while it is in use.  Failure to do results
            in other callers not being able to rent the string builder.
            </para>
            </remarks>
        </member>
        <member name="M:NuGet.SharedStringBuilder.Rent(System.Int32)">
            <summary>
            Retrieves a <see cref="T:System.Text.StringBuilder" /> that is at least the requested length.
            </summary>
            <param name="minimumCapacity">The minimum capacity of the <see cref="T:System.Text.StringBuilder" /> needed.</param>
            <returns>
            A <see cref="T:System.Text.StringBuilder" /> that is at least <paramref name="minimumCapacity" /> in length.
            </returns>
            <remarks>
            This buffer is loaned to the caller and should be returned to the same pool via
            <see cref="M:NuGet.SharedStringBuilder.ToStringAndReturn(System.Text.StringBuilder)" /> so that it may be reused in subsequent usage of <see cref="M:NuGet.SharedStringBuilder.Rent(System.Int32)" />.
            It is not a fatal error to not return a rented string builder, but failure to do so may lead to
            decreased application performance, as the pool may need to create a new instance to replace
            the one lost.
            </remarks>
        </member>
        <member name="M:NuGet.SharedStringBuilder.ToStringAndReturn(System.Text.StringBuilder)">
            <summary>
            Returns to the pool an array that was previously obtained via <see cref="M:NuGet.SharedStringBuilder.Rent(System.Int32)" /> on the same
            <see cref="T:NuGet.StringBuilderPool" /> instance, returning the built string.
            </summary>
            <param name="builder">
            The <see cref="T:System.Text.StringBuilder" /> previously obtained from <see cref="M:NuGet.SharedStringBuilder.Rent(System.Int32)" /> to return to the pool.
            </param>
            <remarks>
            Once a <see cref="T:System.Text.StringBuilder" /> has been returned to the pool, the caller gives up all ownership
            of the instance and must not use it. The reference returned from a given call to <see cref="M:NuGet.SharedStringBuilder.Rent(System.Int32)" />
            must only be returned via <see cref="M:NuGet.SharedStringBuilder.ToStringAndReturn(System.Text.StringBuilder)" /> once.  The default <see cref="T:NuGet.StringBuilderPool" />
            may hold onto the returned instance in order to rent it again, or it may release the returned instance
            if it's determined that the pool already has enough instances stored.
            </remarks>
            <returns>The string, built from <paramref name="builder" />.</returns>
        </member>
        <member name="M:NuGet.Shared.EqualityUtility.OrderedEquals``2(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Collections.Generic.IComparer{``1},System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Compares two enumerables for equality, ordered according to the specified key and optional comparer. Handles null values gracefully.
            </summary>
            <typeparam name="TSource">The type of the list</typeparam>
            <typeparam name="TKey">The type of the sorting key</typeparam>
            <param name="self">This list</param>
            <param name="other">The other list</param>
            <param name="keySelector">The function to extract the key from each item in the list</param>
            <param name="orderComparer">An optional comparer for comparing keys</param>
            <param name="sequenceComparer">An optional comparer for sequences</param>
        </member>
        <member name="M:NuGet.Shared.EqualityUtility.OrderedEquals``2(System.Collections.Generic.ICollection{``0},System.Collections.Generic.ICollection{``0},System.Func{``0,``1},System.Collections.Generic.IComparer{``1},System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Compares two collections for equality, ordered according to the specified key and optional comparer. Handles null values gracefully.
            </summary>
            <typeparam name="TSource">The type of the list</typeparam>
            <typeparam name="TKey">The type of the sorting key</typeparam>
            <param name="self">This list</param>
            <param name="other">The other list</param>
            <param name="keySelector">The function to extract the key from each item in the list</param>
            <param name="orderComparer">An optional comparer for comparing keys</param>
            <param name="sequenceComparer">An optional comparer for sequences</param>
        </member>
        <member name="M:NuGet.Shared.EqualityUtility.OrderedEquals``2(System.Collections.Generic.IList{``0},System.Collections.Generic.IList{``0},System.Func{``0,``1},System.Collections.Generic.IComparer{``1},System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Compares two lists for equality, ordered according to the specified key and optional comparer. Handles null values gracefully.
            </summary>
            <typeparam name="TSource">The type of the list</typeparam>
            <typeparam name="TKey">The type of the sorting key</typeparam>
            <param name="self">This list</param>
            <param name="other">The other list</param>
            <param name="keySelector">The function to extract the key from each item in the list</param>
            <param name="orderComparer">An optional comparer for comparing keys</param>
            <param name="sequenceComparer">An optional comparer for sequences</param>
        </member>
        <member name="M:NuGet.Shared.EqualityUtility.SequenceEqualWithNullCheck``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Compares two sequence for equality, allowing either sequence to be null. If one is null, both have to be
            null for equality.
            </summary>
        </member>
        <member name="M:NuGet.Shared.EqualityUtility.SequenceEqualWithNullCheck``1(System.Collections.Generic.ICollection{``0},System.Collections.Generic.ICollection{``0},System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Compares two collections for equality, allowing either collection to be null. If one is null, both have to be
            null for equality.
            </summary>
        </member>
        <member name="M:NuGet.Shared.EqualityUtility.SequenceEqualWithNullCheck``1(System.Collections.Generic.IList{``0},System.Collections.Generic.IList{``0},System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Compares two lists for equality, allowing either list to be null. If one is null, both have to be
            null for equality.
            </summary>
        </member>
        <member name="M:NuGet.Shared.EqualityUtility.SetEqualsWithNullCheck``1(System.Collections.Generic.ISet{``0},System.Collections.Generic.ISet{``0},System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Compares two sets for equality, allowing either sequence to be null.
            If one is null, both have to be null for equality.
            </summary>
        </member>
        <member name="M:NuGet.Shared.EqualityUtility.EqualsFalse(System.String)">
            <summary>
            Determines if the current string contains a value equal "false".  Leading and trailing whitespace are trimmed and the comparison is case-insensitive
            </summary>
            <param name="value">The string to compare.</param>
            <returns><see langword="true" /> if the current string is equal to a value of "false", otherwise <see langword="false" />.</returns>
        </member>
        <member name="T:NuGet.Shared.HashCodeCombiner">
            <summary>
            Hash code creator, based on the original NuGet hash code combiner/ASP hash code combiner implementations
            </summary>
        </member>
        <member name="M:NuGet.Shared.HashCodeCombiner.GetHashCode``2(``0,``1)">
            <summary>
            Create a unique hash code for the given set of items
            </summary>
        </member>
        <member name="M:NuGet.Shared.HashCodeCombiner.GetHashCode``3(``0,``1,``2)">
            <summary>
            Create a unique hash code for the given set of items
            </summary>
        </member>
        <member name="M:NuGet.Shared.Extensions.AsList``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Return the enumerable as a List of T, copying if required. Optimized for common case where it is an List of T.
            Avoid mutating the return value.
            </summary>
            <remarks>https://aspnetwebstack.codeplex.com/SourceControl/latest#src/Common/CollectionExtensions.cs</remarks>
        </member>
        <member name="M:NuGet.Shared.Extensions.AsHashSet``1(System.Collections.Generic.ISet{``0},System.Collections.Generic.IEqualityComparer{``0})">
            <summary>
            Return the ISet as a HashSet of T, copying if required. Optimized for common case where it is a HashSet of T.
            Avoid mutating the return value.
            </summary>
        </member>
        <member name="M:NuGet.Shared.Extensions.AppendInt(System.Text.StringBuilder,System.Int32)">
             <summary>
             Helper function to append an <see cref="T:System.Int32"/> to a <see cref="T:System.Text.StringBuilder"/>. Calling
             <see cref="M:System.Text.StringBuilder.Append(System.Int32)"/> directly causes an allocation by first converting the
             <see cref="T:System.Int32"/> to a string and then appending that result:
             <code>
             public StringBuilder Append(int value)
             {
                 return Append(value.ToString(CultureInfo.CurrentCulture));
             }
             </code>
            
             Note that this uses the current culture to do the conversion while <see cref="M:NuGet.Shared.Extensions.AppendInt(System.Text.StringBuilder,System.Int32)"/> does
             not do any cultural sensitive conversion.
             </summary>
             <param name="sb">The <see cref="T:System.Text.StringBuilder"/> to append to.</param>
             <param name="value">The <see cref="T:System.Int32"/> to append.</param>
        </member>
        <member name="M:NuGet.NoAllocEnumerateExtensions.NoAllocEnumerate``1(System.Collections.Generic.IList{``0})">
             <summary>
             Avoids allocating an enumerator when enumerating an <see cref="T:System.Collections.Generic.IList`1"/>.
             </summary>
             <remarks>
             <para>
             Returns a struct-based enumerator that avoids heap allocation during enumeration.
             If the underlying type is <see cref="T:System.Collections.Generic.List`1"/> then this method will delegate to <see cref="T:System.Collections.Generic.List`1.Enumerator"/>,
             otherwise the collection's items are accessed by index via <see cref="T:System.Collections.Generic.IList`1"/>'s indexer directly.
             </para>
             <para>
             When using a struct-based enumerator, no heap allocation occurs during enumeration via <see langword="foreach" />.
             This is in contrast to the interface-based enumerator <see cref="T:System.Collections.Generic.IEnumerator`1"/> which will
             always be allocated on the heap.
             </para>
             </remarks>
             <example>
             <code>
             <![CDATA[IList<string> list = ...;
            
             foreach (string item in list.NoAllocEnumerate())
             {
                 // ...
             }]]>
             </code>
             </example>
        </member>
        <member name="T:NuGet.NoAllocEnumerateExtensions.OptimisticallyNonAllocatingListEnumerable`1">
            <summary>
            Provides a struct-based enumerator for use with <see cref="T:System.Collections.Generic.IList`1"/>.
            Do not use this type directly. Use <see cref="M:NuGet.NoAllocEnumerateExtensions.NoAllocEnumerate``1(System.Collections.Generic.IList{``0})"/> instead.
            </summary>
        </member>
        <member name="T:NuGet.NoAllocEnumerateExtensions.OptimisticallyNonAllocatingListEnumerable`1.Enumerator">
            <summary>
            A struct-based enumerator for use with <see cref="T:System.Collections.Generic.IList`1"/>.
            Do not use this type directly. Use <see cref="M:NuGet.NoAllocEnumerateExtensions.NoAllocEnumerate``1(System.Collections.Generic.IList{``0})"/> instead.
            </summary>
        </member>
        <member name="M:NuGet.NoAllocEnumerateExtensions.NoAllocEnumerate``1(System.Collections.Generic.IEnumerable{``0})">
             <summary>
             Avoids allocating an enumerator when enumerating an <see cref="T:System.Collections.Generic.IEnumerable`1"/> where the concrete type
             has a well known struct enumerator, such as for <see cref="T:System.Collections.Generic.List`1"/>, or when index-based access is possible via
             <see cref="T:System.Collections.Generic.IList`1"/>.
             </summary>
             <remarks>
             <para>
             Several collection types (e.g. <see cref="T:System.Collections.Generic.List`1"/>) provide a struct-based enumerator type
             (e.g. <see cref="T:System.Collections.Generic.List`1.Enumerator"/>) which the compiler can use in <see langword="foreach" /> statements.
             When using a struct-based enumerator, no heap allocation occurs during such enumeration.
             This is in contrast to the interface-based enumerator <see cref="T:System.Collections.Generic.IEnumerator`1"/> which will
             always be allocated on the heap.
             </para>
             <para>
             This method returns a custom struct enumerator that will avoid any heap allocation if <paramref name="source"/>
             (which is declared via interface <see cref="T:System.Collections.Generic.IEnumerable`1"/>) is actually of known concrete type that
             provides its own struct enumerator. If so, it delegates to that type's enumerator without any boxing
             or other heap allocation.
             </para>
             <para>
             If <paramref name="source"/> is not of a known concrete type, the returned enumerator falls back to the
             interface-based enumerator, which will be allocated on the heap. Benchmarking shows the overhead in
             such cases is low enough to be within the measurement error, meaning this is an inexpensive optimization
             that won't regress behavior and with low downside for cases where it cannot apply an optimization.
             </para>
             </remarks>
             <example>
             <code>
             <![CDATA[IEnumerable<string> source = ...;
            
             foreach (string item in source.NoAllocEnumerate())
             {
                 // ...
             }]]>
             </code>
             </example>
        </member>
        <member name="T:NuGet.NoAllocEnumerateExtensions.OptimisticallyNonAllocatingEnumerable`1">
            <summary>
            Provides a struct-based enumerator for use with <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
            Do not use this type directly. Use <see cref="M:NuGet.NoAllocEnumerateExtensions.NoAllocEnumerate``1(System.Collections.Generic.IEnumerable{``0})"/> instead.
            </summary>
        </member>
        <member name="T:NuGet.NoAllocEnumerateExtensions.OptimisticallyNonAllocatingEnumerable`1.Enumerator">
            <summary>
            A struct-based enumerator for use with <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
            Do not use this type directly. Use <see cref="M:NuGet.NoAllocEnumerateExtensions.NoAllocEnumerate``1(System.Collections.Generic.IEnumerable{``0})"/> instead.
            </summary>
        </member>
        <member name="M:NuGet.NoAllocEnumerateExtensions.NoAllocEnumerate``2(System.Collections.Generic.IDictionary{``0,``1})">
             <summary>
             Avoids allocating an enumerator when enumerating an <see cref="T:System.Collections.Generic.IDictionary`2"/> where the concrete type
             has a well known struct enumerator, such as for <see cref="T:System.Collections.Generic.Dictionary`2"/>.
             </summary>
             <remarks>
             <para>
             Several collection types (e.g. <see cref="T:System.Collections.Generic.Dictionary`2"/>) provide a struct-based enumerator type
             (e.g. <see cref="T:System.Collections.Generic.Dictionary`2.Enumerator"/>) which the compiler can use in <see langword="foreach" /> statements.
             When using a struct-based enumerator, no heap allocation occurs during such enumeration.
             This is in contrast to the interface-based enumerator <see cref="T:System.Collections.Generic.IEnumerator`1"/> which will
             always be allocated on the heap.
             </para>
             <para>
             This method returns a custom struct enumerator that will avoid any heap allocation if <paramref name="dictionary"/>
             (which is declared via interface <see cref="T:System.Collections.Generic.IEnumerable`1"/>) is actually of known concrete type that
             provides its own struct enumerator. If so, it delegates to that type's enumerator without any boxing
             or other heap allocation.
             </para>
             <para>
             If <paramref name="dictionary"/> is not of a known concrete type, the returned enumerator falls back to the
             interface-based enumerator, which will be allocated on the heap. Benchmarking shows the overhead in
             such cases is low enough to be within the measurement error, meaning this is an inexpensive optimization
             that won't regress behavior and with low downside for cases where it cannot apply an optimization.
             </para>
             </remarks>
             <example>
             <code>
             <![CDATA[IDictionary<string, string> dictionary = ...;
            
             foreach ((string key, string value) in dictionary.NoAllocEnumerate())
             {
                 // ...
             }]]>
             </code>
             </example>
        </member>
        <member name="T:NuGet.NoAllocEnumerateExtensions.OptimisticallyNonAllocatingDictionaryEnumerable`2">
            <summary>
            Provides a struct-based enumerator for use with <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            Do not use this type directly. Use <see cref="M:NuGet.NoAllocEnumerateExtensions.NoAllocEnumerate``2(System.Collections.Generic.IDictionary{``0,``1})"/> instead.
            </summary>
        </member>
        <member name="T:NuGet.NoAllocEnumerateExtensions.OptimisticallyNonAllocatingDictionaryEnumerable`2.Enumerator">
            <summary>
            A struct-based enumerator for use with <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
            Do not use this type directly. Use <see cref="M:NuGet.NoAllocEnumerateExtensions.NoAllocEnumerate``2(System.Collections.Generic.IDictionary{``0,``1})"/> instead.
            </summary>
        </member>
        <member name="T:NuGet.StringBuilderPool">
            <summary>
            Provides a resource pool that enables reusing instances of <see cref="T:System.Text.StringBuilder"/> instances.
            </summary>
            <remarks>
            <para>
            Renting and returning buffers with an <see cref="T:NuGet.StringBuilderPool"/> can increase performance
            in situations where <see cref="T:System.Text.StringBuilder"/> instances are created and destroyed frequently,
            resulting in significant memory pressure on the garbage collector.
            </para>
            <para>
            This class is thread-safe.  All members may be used by multiple threads concurrently.
            </para>
            </remarks>
        </member>
        <member name="F:NuGet.StringBuilderPool.Shared">
            <summary>
            Retrieves a shared <see cref="T:NuGet.StringBuilderPool"/> instance.
            </summary>
        </member>
        <member name="M:NuGet.StringBuilderPool.Rent(System.Int32)">
            <summary>
            Retrieves a <see cref="T:System.Text.StringBuilder"/> that is at least the requested length.
            </summary>
            <param name="minimumCapacity">The minimum capacity of the <see cref="T:System.Text.StringBuilder"/> needed.</param>
            <returns>
            A <see cref="T:System.Text.StringBuilder"/> that is at least <paramref name="minimumCapacity"/> in length.
            </returns>
            <remarks>
            This buffer is loaned to the caller and should be returned to the same pool via
            <see cref="M:NuGet.StringBuilderPool.ToStringAndReturn(System.Text.StringBuilder)"/> so that it may be reused in subsequent usage of <see cref="M:NuGet.StringBuilderPool.Rent(System.Int32)"/>.
            It is not a fatal error to not return a rented string builder, but failure to do so may lead to
            decreased application performance, as the pool may need to create a new instance to replace
            the one lost.
            </remarks>
        </member>
        <member name="M:NuGet.StringBuilderPool.ToStringAndReturn(System.Text.StringBuilder)">
            <summary>
            Returns to the pool an array that was previously obtained via <see cref="M:NuGet.StringBuilderPool.Rent(System.Int32)"/> on the same
            <see cref="T:NuGet.StringBuilderPool"/> instance, returning the built string.
            </summary>
            <param name="builder">
            The <see cref="T:System.Text.StringBuilder"/> previously obtained from <see cref="M:NuGet.StringBuilderPool.Rent(System.Int32)"/> to return to the pool.
            </param>
            <remarks>
            Once a <see cref="T:System.Text.StringBuilder"/> has been returned to the pool, the caller gives up all ownership
            of the instance and must not use it. The reference returned from a given call to <see cref="M:NuGet.StringBuilderPool.Rent(System.Int32)"/>
            must only be returned via <see cref="M:NuGet.StringBuilderPool.ToStringAndReturn(System.Text.StringBuilder)"/> once.  The default <see cref="T:NuGet.StringBuilderPool"/>
            may hold onto the returned instance in order to rent it again, or it may release the returned instance
            if it's determined that the pool already has enough instances stored.
            </remarks>
            <returns>The string, built from <paramref name="builder"/>.</returns>
        </member>
        <member name="T:System.Diagnostics.CodeAnalysis.AllowNullAttribute">
            <summary>Specifies that null is allowed as an input even if the corresponding type disallows it.</summary>
        </member>
        <member name="T:System.Diagnostics.CodeAnalysis.DisallowNullAttribute">
            <summary>Specifies that null is disallowed as an input even if the corresponding type allows it.</summary>
        </member>
        <member name="T:System.Diagnostics.CodeAnalysis.MaybeNullAttribute">
            <summary>Specifies that an output may be null even if the corresponding type disallows it.</summary>
        </member>
        <member name="T:System.Diagnostics.CodeAnalysis.NotNullAttribute">
            <summary>Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns.</summary>
        </member>
        <member name="T:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute">
            <summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue"/>, the parameter may be null even if the corresponding type disallows it.</summary>
        </member>
        <member name="M:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.#ctor(System.Boolean)">
            <summary>Initializes the attribute with the specified return value condition.</summary>
            <param name="returnValue">
            The return value condition. If the method returns this value, the associated parameter may be null.
            </param>
        </member>
        <member name="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue">
            <summary>Gets the return value condition.</summary>
        </member>
        <member name="T:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute">
            <summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue"/>, the parameter will not be null even if the corresponding type allows it.</summary>
        </member>
        <member name="M:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.#ctor(System.Boolean)">
            <summary>Initializes the attribute with the specified return value condition.</summary>
            <param name="returnValue">
            The return value condition. If the method returns this value, the associated parameter will not be null.
            </param>
        </member>
        <member name="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue">
            <summary>Gets the return value condition.</summary>
        </member>
        <member name="T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute">
            <summary>Specifies that the output will be non-null if the named parameter is non-null.</summary>
        </member>
        <member name="M:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.#ctor(System.String)">
            <summary>Initializes the attribute with the associated parameter name.</summary>
            <param name="parameterName">
            The associated parameter name.  The output will be non-null if the argument to the parameter specified is non-null.
            </param>
        </member>
        <member name="P:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.ParameterName">
            <summary>Gets the associated parameter name.</summary>
        </member>
        <member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute">
            <summary>Applied to a method that will never return under any circumstance.</summary>
        </member>
        <member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute">
            <summary>Specifies that the method will not return if the associated Boolean parameter is passed the specified value.</summary>
        </member>
        <member name="M:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.#ctor(System.Boolean)">
            <summary>Initializes the attribute with the specified parameter value.</summary>
            <param name="parameterValue">
            The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to
            the associated parameter matches this value.
            </param>
        </member>
        <member name="P:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.ParameterValue">
            <summary>Gets the condition parameter value.</summary>
        </member>
        <member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute">
            <summary>Specifies that the method or property will ensure that the listed field and property members have not-null values.</summary>
        </member>
        <member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String)">
            <summary>Initializes the attribute with a field or property member.</summary>
            <param name="member">
            The field or property member that is promised to be not-null.
            </param>
        </member>
        <member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String[])">
            <summary>Initializes the attribute with the list of field and property members.</summary>
            <param name="members">
            The list of field and property members that are promised to be not-null.
            </param>
        </member>
        <member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.Members">
            <summary>Gets field or property member names.</summary>
        </member>
        <member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute">
            <summary>Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition.</summary>
        </member>
        <member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String)">
            <summary>Initializes the attribute with the specified return value condition and a field or property member.</summary>
            <param name="returnValue">
            The return value condition. If the method returns this value, the associated parameter will not be null.
            </param>
            <param name="member">
            The field or property member that is promised to be not-null.
            </param>
        </member>
        <member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String[])">
            <summary>Initializes the attribute with the specified return value condition and list of field and property members.</summary>
            <param name="returnValue">
            The return value condition. If the method returns this value, the associated parameter will not be null.
            </param>
            <param name="members">
            The list of field and property members that are promised to be not-null.
            </param>
        </member>
        <member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.ReturnValue">
            <summary>Gets the return value condition.</summary>
        </member>
        <member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.Members">
            <summary>Gets field or property member names.</summary>
        </member>
    </members>
</doc>
