<?xml version="1.0"?>
<doc>
    <assembly>
        <name>NuGet.LibraryModel</name>
    </assembly>
    <members>
        <member name="P:NuGet.LibraryModel.CentralPackageVersionNameComparer.Default">
            <summary>
            Returns a singleton instance for the <see cref="T:NuGet.LibraryModel.CentralPackageVersionNameComparer"/>.
            </summary>
        </member>
        <member name="M:NuGet.LibraryModel.CentralPackageVersionNameComparer.#ctor">
            <summary>
            Get a singleton instance only through the <see cref="P:NuGet.LibraryModel.CentralPackageVersionNameComparer.Default"/>.
            </summary>
        </member>
        <member name="T:NuGet.LibraryModel.DownloadDependency">
            <remarks>
            Immutable.
            </remarks>
        </member>
        <member name="M:NuGet.LibraryModel.FrameworkDependencyFlagsUtils.GetFlags(System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Convert set of flag strings into a FrameworkDependencyFlags.
            </summary>
            <param name="values">A list of values to generate the flags out of</param>
        </member>
        <member name="M:NuGet.LibraryModel.FrameworkDependencyFlagsUtils.GetFlagString(NuGet.LibraryModel.FrameworkDependencyFlags)">
            <summary>
            Convert framework dependency flags to a friendly string.
            </summary>
        </member>
        <member name="M:NuGet.LibraryModel.FrameworkDependencyFlagsUtils.GetFlags(System.String)">
            <summary>
            Convert set of flag strings into a LibraryIncludeFlags.
            If the <paramref name="flags"/> is null, it returns the default value of <see cref="F:NuGet.LibraryModel.FrameworkDependencyFlags.None"/>
            </summary>
        </member>
        <member name="P:NuGet.LibraryModel.LibraryDependency.AutoReferenced">
            <summary>
            True if the PackageReference is added by the SDK and not the user.
            </summary>
        </member>
        <member name="P:NuGet.LibraryModel.LibraryDependency.VersionCentrallyManaged">
            <summary>
            True if the dependency has the version set through CentralPackageVersionManagement file.
            </summary>
        </member>
        <member name="P:NuGet.LibraryModel.LibraryDependency.ReferenceType">
            <summary>
            Information regarding if the dependency is direct or transitive.
            </summary>
        </member>
        <member name="P:NuGet.LibraryModel.LibraryDependency.VersionOverride">
            <summary>
            Gets or sets a value indicating a version override for any centrally defined version.
            </summary>
        </member>
        <member name="M:NuGet.LibraryModel.LibraryDependency.#ctor">
            <summary>Initializes a new instance of the LibraryDependency class.</summary>
            <remarks>Required properties must be set when using this constructor.</remarks>
        </member>
        <member name="M:NuGet.LibraryModel.LibraryDependency.#ctor(NuGet.LibraryModel.LibraryRange)">
            <summary>Initializes a new instance of the LibraryDependency class.</summary>
            <param name="libraryRange">The <see cref="T:NuGet.LibraryModel.LibraryRange"/> to use with the new instance.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="libraryRange"/> is <see langword="null"/></exception>
        </member>
        <member name="P:NuGet.LibraryModel.LibraryDependencyInfo.Resolved">
            <summary>
            False if the package could not be found.
            </summary>
        </member>
        <member name="P:NuGet.LibraryModel.LibraryDependencyInfo.Library">
            <summary>
            Original library identity from the nuspec.
            This contains the original casing for the id/version.
            </summary>
        </member>
        <member name="P:NuGet.LibraryModel.LibraryDependencyInfo.Dependencies">
            <summary>
            Dependencies
            </summary>
        </member>
        <member name="P:NuGet.LibraryModel.LibraryDependencyInfo.Framework">
            <summary>
            Target framework used to select the dependencies.
            </summary>
        </member>
        <member name="M:NuGet.LibraryModel.LibraryDependencyInfo.CreateUnresolved(NuGet.LibraryModel.LibraryIdentity,NuGet.Frameworks.NuGetFramework)">
            <summary>
            Unresolved
            </summary>
        </member>
        <member name="M:NuGet.LibraryModel.LibraryDependencyInfo.Create(NuGet.LibraryModel.LibraryIdentity,NuGet.Frameworks.NuGetFramework,System.Collections.Generic.IEnumerable{NuGet.LibraryModel.LibraryDependency})">
            <summary>
            Resolved
            </summary>
        </member>
        <member name="F:NuGet.LibraryModel.LibraryDependencyTarget.PackageProjectExternal">
            <summary>
            A package, project, or external project
            </summary>
        </member>
        <member name="T:NuGet.LibraryModel.LibraryDependencyTargetUtils">
            <summary>
            Helper methods for dealing with LibraryDependencyTarget strings.
            </summary>
        </member>
        <member name="M:NuGet.LibraryModel.LibraryDependencyTargetUtils.Parse(System.String)">
            <summary>
            Convert flag string into a LibraryTypeFlag.
            </summary>
        </member>
        <member name="M:NuGet.LibraryModel.LibraryDependencyTargetUtils.GetFlagString(NuGet.LibraryModel.LibraryDependencyTarget)">
            <summary>
            Convert type flags to a friendly string.
            </summary>
        </member>
        <member name="M:NuGet.LibraryModel.LibraryDependencyTargetUtils.AsString(NuGet.LibraryModel.LibraryDependencyTarget)">
            <summary>
            Efficiently converts <see cref="T:NuGet.LibraryModel.LibraryDependencyTarget"/> to it's <see cref="T:System.String"/> representation.
            </summary>
            <param name="includeFlags">The <see cref="T:NuGet.LibraryModel.LibraryDependencyTarget"/> instance to get the <see cref="T:System.String"/> representation for.</param>
            <returns>The <see cref="T:System.String"/> representation of <paramref name="includeFlags"/>.</returns>
        </member>
        <member name="T:NuGet.LibraryModel.LibraryIncludeFlagUtils">
            <summary>
            Helper methods for dealing with include/exclude flag strings.
            </summary>
        </member>
        <member name="F:NuGet.LibraryModel.LibraryIncludeFlagUtils.DefaultSuppressParent">
            <summary>
            By default build, contentFiles, and analyzers do not flow transitively between projects.
            </summary>
        </member>
        <member name="M:NuGet.LibraryModel.LibraryIncludeFlagUtils.GetFlags(System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Convert set of flag strings into a LibraryIncludeFlags.
            </summary>
        </member>
        <member name="M:NuGet.LibraryModel.LibraryIncludeFlagUtils.GetFlagString(NuGet.LibraryModel.LibraryIncludeFlags)">
            <summary>
            Convert library flags to a friendly string.
            </summary>
        </member>
        <member name="M:NuGet.LibraryModel.LibraryIncludeFlagUtils.GetFlags(System.String,NuGet.LibraryModel.LibraryIncludeFlags)">
            <summary>
            Convert set of flag strings into a LibraryIncludeFlags.
            </summary>
        </member>
        <member name="M:NuGet.LibraryModel.LibraryIncludeFlagUtils.AsString(NuGet.LibraryModel.LibraryIncludeFlags)">
            <summary>
            Efficiently converts <see cref="T:NuGet.LibraryModel.LibraryIncludeFlags"/> to it's <see cref="T:System.String"/> representation.
            </summary>
            <param name="includeFlags">The <see cref="T:NuGet.LibraryModel.LibraryIncludeFlags"/> instance to get the <see cref="T:System.String"/> representation for.</param>
            <returns>The <see cref="T:System.String"/> representation of <paramref name="includeFlags"/>.</returns>
        </member>
        <member name="M:NuGet.LibraryModel.LibraryRange.TypeConstraintAllows(NuGet.LibraryModel.LibraryDependencyTarget)">
            <summary>
            True if the type constraint allows the flag.
            </summary>
        </member>
        <member name="M:NuGet.LibraryModel.LibraryRange.TypeConstraintAllowsAnyOf(NuGet.LibraryModel.LibraryDependencyTarget)">
            <summary>
            True if any flags are allowed by the constraint.
            </summary>
        </member>
        <member name="F:NuGet.LibraryModel.LibraryType.Project">
            <summary>
            Indicates that the library comes from compiling an XRE-based Project
            </summary>
        </member>
        <member name="F:NuGet.LibraryModel.LibraryType.ExternalProject">
            <summary>
            Indicates that the library comes from compiling an external project (such as an MSBuild-based project)
            </summary>
        </member>
        <member name="F:NuGet.LibraryModel.LibraryType.Package">
            <summary>
            Indicates that the library comes from a NuGet Package
            </summary>
        </member>
        <member name="F:NuGet.LibraryModel.LibraryType.Assembly">
            <summary>
            Indicates that the library comes from a stand-alone .NET Assembly
            </summary>
        </member>
        <member name="F:NuGet.LibraryModel.LibraryType.Reference">
            <summary>
            Indicates that the library comes from a .NET Assembly in a globally-accessible
            location such as the GAC or the Framework Reference Assemblies
            </summary>
        </member>
        <member name="F:NuGet.LibraryModel.LibraryType.WinMD">
            <summary>
            Indicates that the library comes from a Windows Metadata Assembly (.winmd file)
            </summary>
        </member>
        <member name="F:NuGet.LibraryModel.LibraryType.Unresolved">
            <summary>
            Indicates that the library could not be resolved
            </summary>
        </member>
        <member name="T:NuGet.LibraryModel.PrunePackageReference">
            <summary>
            Represents a PrunePackageReference item.
            </summary>
        </member>
        <member name="P:NuGet.LibraryModel.PrunePackageReference.Name">
            <summary>
            Package Id to be pruned
            </summary>
        </member>
        <member name="P:NuGet.LibraryModel.PrunePackageReference.VersionRange">
            <summary>
            Version ranges to be pruned. Expected to be of (, MaxVersion] style.
            </summary>
        </member>
        <member name="T:NuGet.LibraryModel.Strings">
            <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
        </member>
        <member name="P:NuGet.LibraryModel.Strings.ResourceManager">
            <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
        </member>
        <member name="P:NuGet.LibraryModel.Strings.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.LibraryModel.Strings.Error_PrunePackageReferenceMissingVersion">
            <summary>
              Looks up a localized string similar to PrunePackageReference is missing a version: {0}..
            </summary>
        </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.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.Runtime.CompilerServices.RequiredMemberAttribute">
            <summary>Specifies that a type has required members or that a member is required.</summary>
        </member>
        <member name="T:System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute">
            <summary>
            Indicates that compiler support for a particular feature is required for the location where this attribute is applied.
            </summary>
        </member>
        <member name="P:System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute.FeatureName">
            <summary>
            The name of the compiler feature.
            </summary>
        </member>
        <member name="P:System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute.IsOptional">
            <summary>
            If true, the compiler can choose to allow access to the location where this attribute is applied if it does not understand <see cref="P:System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute.FeatureName"/>.
            </summary>
        </member>
        <member name="F:System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute.RefStructs">
            <summary>
            The <see cref="P:System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute.FeatureName"/> used for the ref structs C# feature.
            </summary>
        </member>
        <member name="F:System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute.RequiredMembers">
            <summary>
            The <see cref="P:System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute.FeatureName"/> used for the required members C# feature.
            </summary>
        </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>
        <member name="T:System.Diagnostics.CodeAnalysis.SetsRequiredMembersAttribute">
            <summary>
            Specifies that this constructor sets all required members for the current type, and callers
            do not need to set any required members themselves.
            </summary>
        </member>
    </members>
</doc>
