<?xml version="1.0"?>
<doc>
    <assembly>
        <name>NuGet.Protocol</name>
    </assembly>
    <members>
        <member name="T:NuGet.Protocol.CachingSourceProvider">
            <summary>
            A caching source repository provider intended to be used as a singleton.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.CachingSourceProvider.GetRepositories">
            <summary>
            Retrieve repositories that have been cached.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.CachingSourceProvider.CreateRepository(System.String)">
            <summary>
            Create a repository and add it to the cache.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.CachingSourceProvider.CreateRepository(NuGet.Configuration.PackageSource)">
            <summary>
            Create a repository and add it to the cache.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.JsonExtensions.ToJson(System.Object,Newtonsoft.Json.Formatting)">
            <summary>
            Serialize object to the JSON.
            </summary>
            <param name="obj">The object.</param>
        </member>
        <member name="M:NuGet.Protocol.JsonExtensions.FromJson``1(System.String)">
            <summary>
            Deserialize object from the JSON.
            </summary>
            <typeparam name="T">Type of object</typeparam>
            <param name="json">JSON representation of object</param>
        </member>
        <member name="M:NuGet.Protocol.JsonExtensions.FromJson``1(System.String,Newtonsoft.Json.JsonSerializerSettings)">
            <summary>
            Deserialize object from the JSON.
            </summary>
            <typeparam name="T">Type of object</typeparam>
            <param name="json">JSON representation of object</param>
            <param name="settings">The settings.</param>
        </member>
        <member name="M:NuGet.Protocol.JsonExtensions.FromJson(System.String,System.Type)">
            <summary>
            Deserialize object from the JSON.
            </summary>
            <param name="json">JSON representation of object</param>
            <param name="type">The object type.</param>
        </member>
        <member name="M:NuGet.Protocol.JsonExtensions.ToJToken(System.Object)">
            <summary>
            Serialize object to JToken.
            </summary>
            <param name="obj">The object.</param>
        </member>
        <member name="M:NuGet.Protocol.JsonExtensions.FromJToken``1(Newtonsoft.Json.Linq.JToken)">
            <summary>
            Deserialize object directly from JToken.
            </summary>
            <typeparam name="T">Type of object.</typeparam>
            <param name="jtoken">The JToken to be deserialized.</param>
        </member>
        <member name="M:NuGet.Protocol.JsonExtensions.FromJToken(Newtonsoft.Json.Linq.JToken,System.Type)">
            <summary>
            Deserialize object directly from JToken.
            </summary>
            <param name="jtoken">The JToken to be deserialized.</param>
            <param name="type">The object type.</param>
        </member>
        <member name="M:NuGet.Protocol.JsonExtensions.GetJObjectProperty``1(Newtonsoft.Json.Linq.JObject,System.String)">
            <summary>
            Extract the property directly from JObject.
            </summary>
            <typeparam name="T">Type of property to return.</typeparam>
            <param name="jobject">The JObject to be deserialized.</param>
            <param name="propertyName">The property name.</param>
        </member>
        <member name="T:NuGet.Protocol.Converters.VersionRangeStjConverter">
            <summary>
            A <see cref="T:System.Text.Json.Serialization.JsonConverter`1"/> to allow System.Text.Json to read/write <see cref="T:NuGet.Versioning.VersionRange"/>
            </summary>
        </member>
        <member name="T:NuGet.Protocol.SemanticVersionConverter">
            <summary>
            A SemanticVersion JSON converter.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.SemanticVersionConverter.CanConvert(System.Type)">
            <summary>
            Gets a flag indicating whether or not a type is convertible.
            </summary>
            <param name="objectType">An object type to check.</param>
            <returns><see langword="true" /> if <paramref name="objectType" /> is convertible; otherwise <see langword="false" />.</returns>
        </member>
        <member name="M:NuGet.Protocol.SemanticVersionConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)">
            <summary>
            Reads the JSON representation of the object.
            </summary>
            <param name="reader">A JSON reader.</param>
            <param name="objectType">The type of the object.</param>
            <param name="existingValue">The existing value of the object.</param>
            <param name="serializer">A serializer.</param>
            <returns>A <see cref="T:NuGet.Versioning.SemanticVersion" /> object.</returns>
        </member>
        <member name="M:NuGet.Protocol.SemanticVersionConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)">
            <summary>
            Writes the JSON representation of the object.
            </summary>
            <param name="writer">A JSON writer.</param>
            <param name="value">A value to serialize.</param>
            <param name="serializer">A serializer.</param>
        </member>
        <member name="T:NuGet.Protocol.VersionRangeConverter">
            <summary>
            A VersionRange JSON converter.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.VersionRangeConverter.CanConvert(System.Type)">
            <summary>
            Gets a flag indicating whether or not a type is convertible.
            </summary>
            <param name="objectType">An object type to check.</param>
            <returns><see langword="true" /> if <paramref name="objectType" /> is convertible; otherwise <see langword="false" />.</returns>
        </member>
        <member name="M:NuGet.Protocol.VersionRangeConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)">
            <summary>
            Reads the JSON representation of the object.
            </summary>
            <param name="reader">A JSON reader.</param>
            <param name="objectType">The type of the object.</param>
            <param name="existingValue">The existing value of the object.</param>
            <param name="serializer">A serializer.</param>
            <returns>A <see cref="T:NuGet.Versioning.VersionRange" /> object.</returns>
        </member>
        <member name="M:NuGet.Protocol.VersionRangeConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)">
            <summary>
            Writes the JSON representation of the object.
            </summary>
            <param name="writer">A JSON writer.</param>
            <param name="value">A value to serialize.</param>
            <param name="serializer">A serializer.</param>
        </member>
        <member name="M:NuGet.Protocol.ResolverMetadataClient.GetDependencies(NuGet.Protocol.HttpSource,System.Uri,System.String,NuGet.Versioning.VersionRange,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Retrieve the <see cref="T:NuGet.Protocol.Core.Types.RemoteSourceDependencyInfo" /> for a registration.
            </summary>
            <returns>Returns an empty sequence if the package does not exist.</returns>
        </member>
        <member name="M:NuGet.Protocol.ResolverMetadataClient.ProcessPackageVersion(Newtonsoft.Json.Linq.JObject,NuGet.Versioning.NuGetVersion)">
            <summary>
            Process an individual package version entry
            </summary>
            <param name="packageObj"></param>
            <param name="version"></param>
            <returns>Returns the RemoteSourceDependencyInfo object corresponding to this package version</returns>
        </member>
        <member name="M:NuGet.Protocol.ResolverMetadataClient.GetRegistrationInfo(NuGet.Protocol.HttpSource,System.Uri,System.String,NuGet.Versioning.VersionRange,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Frameworks.NuGetFramework,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Retrieve a registration blob
            </summary>
            <returns>Returns Null if the package does not exist</returns>
        </member>
        <member name="M:NuGet.Protocol.ResolverMetadataClient.GetFramework(Newtonsoft.Json.Linq.JObject)">
            <summary>
            Retrieve the target framework from a dependency group obj
            </summary>
        </member>
        <member name="T:NuGet.Protocol.Core.Types.DownloadResourceResult">
            <summary>
            The result of <see cref="T:NuGet.Protocol.Core.Types.DownloadResource"/>.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.DownloadResourceResult.#ctor(NuGet.Protocol.Core.Types.DownloadResourceResultStatus)">
            <summary>
            Initializes a new <see cref="T:NuGet.Protocol.Core.Types.DownloadResourceResult" /> class.
            </summary>
            <param name="status">A download resource result status.</param>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="status" />
            is either <see cref="F:NuGet.Protocol.Core.Types.DownloadResourceResultStatus.Available" /> or
            <see cref="F:NuGet.Protocol.Core.Types.DownloadResourceResultStatus.AvailableWithoutStream" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.DownloadResourceResult.#ctor(System.IO.Stream,System.String)">
            <summary>
            Initializes a new <see cref="T:NuGet.Protocol.Core.Types.DownloadResourceResult" /> class.
            </summary>
            <param name="stream">A package stream.</param>
            <param name="source">A package source.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="stream" /> is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.DownloadResourceResult.#ctor(System.IO.Stream,NuGet.Packaging.PackageReaderBase,System.String)">
            <summary>
            Initializes a new <see cref="T:NuGet.Protocol.Core.Types.DownloadResourceResult" /> class.
            </summary>
            <param name="stream">A package stream.</param>
            <param name="packageReader">A package reader.</param>
            <param name="source">A package source.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="stream" /> is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.DownloadResourceResult.#ctor(NuGet.Packaging.PackageReaderBase,System.String)">
            <summary>
            Initializes a new <see cref="T:NuGet.Protocol.Core.Types.DownloadResourceResult" /> class.
            </summary>
            <param name="packageReader">A package reader.</param>
            <param name="source">A package source.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="packageReader" /> is <see langword="null" />.</exception>
        </member>
        <member name="P:NuGet.Protocol.Core.Types.DownloadResourceResult.PackageStream">
            <summary>
            Gets the package <see cref="P:NuGet.Protocol.Core.Types.DownloadResourceResult.PackageStream"/>.
            </summary>
            <remarks>The value may be <see langword="null" />.</remarks>
        </member>
        <member name="P:NuGet.Protocol.Core.Types.DownloadResourceResult.PackageSource">
            <summary>
            Gets the source containing this package, if not from cache
            </summary>
            <remarks>The value may be <see langword="null" />.</remarks>
        </member>
        <member name="P:NuGet.Protocol.Core.Types.DownloadResourceResult.PackageReader">
            <summary>
            Gets the <see cref="T:NuGet.Packaging.PackageReaderBase"/> for the package.
            </summary>
            <remarks>The value may be <see langword="null" />.</remarks>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.DownloadResourceResult.Dispose">
            <summary>
            Disposes of this instance.
            </summary>
        </member>
        <member name="T:NuGet.Protocol.Core.Types.NuGetProtocolException">
            <summary>
            Base protocol exception type containing a message and optional inner exception.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Core.Types.FindPackageByIdDependencyInfo.PackageIdentity">
            <summary>
            Original package identity from the package.
            This contains the exact casing for the id and version.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Core.Types.FindPackageByIdDependencyInfo.DependencyGroups">
            <summary>
            Gets the package dependency groups.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Core.Types.FindPackageByIdDependencyInfo.FrameworkReferenceGroups">
            <summary>
            Gets the framework reference groups.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.FindPackageByIdDependencyInfo.#ctor(NuGet.Packaging.Core.PackageIdentity,System.Collections.Generic.IEnumerable{NuGet.Packaging.PackageDependencyGroup},System.Collections.Generic.IEnumerable{NuGet.Packaging.FrameworkSpecificGroup})">
            <summary>
            DependencyInfo
            </summary>
            <param name="packageIdentity">original package identity</param>
            <param name="dependencyGroups">package dependency groups</param>
            <param name="frameworkReferenceGroups">Sequence of <see cref="T:NuGet.Packaging.FrameworkSpecificGroup" />s.</param>
        </member>
        <member name="P:NuGet.Protocol.Core.Types.HttpSourceCacheContext.RootTempFolder">
            <summary>
            A suggested root folder to drop temporary files under, it will get cleared by the
            disposal of the <see cref="P:NuGet.Protocol.Core.Types.HttpSourceCacheContext.SourceCacheContext"/> that was used to create this instance.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Core.Types.HttpSourceCacheContext.SourceCacheContext">
            <summary>
            Inner cache context.
            </summary>
        </member>
        <member name="T:NuGet.Protocol.Core.Types.INuGetResource">
            <summary>
            Represents a resource provided by a server endpoint (V2 or V3).
            </summary>
        </member>
        <member name="T:NuGet.Protocol.Core.Types.INuGetResourceProvider">
            <summary>
            INuGetResourceProviders are imported by SourceRepository. They exist as singletons which span all sources,
            and are responsible
            for determining if they should be used for the given source when TryCreate is called.
            The provider determines the caching. Resources may be cached per source, but they are normally created new
            each time
            to allow for caching within the context they were created in.
            Providers may retrieve other resources from the source repository and pass them to the resources they
            create in order
            to build on them.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.INuGetResourceProvider.TryCreate(NuGet.Protocol.Core.Types.SourceRepository,System.Threading.CancellationToken)">
            <summary>
            Attempts to create a resource for this source.
            </summary>
            <remarks>
            The provider may return true but null for the resource if the
            provider determines that it should not exist.
            </remarks>
            <param name="source">Source repository</param>
            <returns>True if this provider handles the input source.</returns>
        </member>
        <member name="P:NuGet.Protocol.Core.Types.INuGetResourceProvider.ResourceType">
            <summary>
            Resource type provided
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Core.Types.INuGetResourceProvider.Name">
            <summary>
            Name of the provider. This is used for ordering.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Core.Types.INuGetResourceProvider.Before">
            <summary>
            Names of providers this should be ordered BEFORE
            Gives this instance a higher priority.
            </summary>
            <remarks>If provider: default is named here, this provider will be called BEFORE default</remarks>
        </member>
        <member name="P:NuGet.Protocol.Core.Types.INuGetResourceProvider.After">
            <summary>
            Names of providers this should be ordered AFTER.
            Gives this instance a lower priority.
            </summary>
            <remarks>If provider: default is named here, this provider will be called AFTER default</remarks>
        </member>
        <member name="T:NuGet.Protocol.Core.Types.ISourceRepositoryProvider">
            <summary>
            SourceRepositoryProvider composes resource providers into source repositories.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.ISourceRepositoryProvider.GetRepositories">
            <summary>
            Retrieve repositories
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.ISourceRepositoryProvider.CreateRepository(NuGet.Configuration.PackageSource)">
            <summary>
            Create a repository for one time use.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.ISourceRepositoryProvider.CreateRepository(NuGet.Configuration.PackageSource,NuGet.Protocol.FeedType)">
            <summary>
            Create a repository for one time use.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Core.Types.ISourceRepositoryProvider.PackageSourceProvider">
            <summary>
            Gets the package source provider
            </summary>
        </member>
        <member name="T:NuGet.Protocol.Core.Types.IPackageSearchMetadata">
            <summary>
            Package metadata only containing select fields relevant to search results processing and presenting.
            Immutable.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.IPackageSearchMetadata.GetDeprecationMetadataAsync">
            <summary>
            Gets the deprecation metadata for the package.
            </summary>
            <remarks>
            Deprecation metadata is only available through remote feeds, not local feeds. Some servers do not return deprecation information via
            <see cref="T:NuGet.Protocol.Core.Types.PackageSearchResource" /> results, only through <see cref="T:NuGet.Protocol.Core.Types.PackageMetadataResource" /> or <see cref="T:NuGet.Protocol.Core.Types.FindPackageByIdResource" />.
            </remarks>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.IPackageSearchMetadata.GetVersionsAsync">
            <summary>
            Lists the available versions of the package on the source.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Core.Types.IPackageSearchMetadata.Vulnerabilities">
            <summary>
            Gets the vulnerability metadata for the package.
            </summary>
            <remarks>
            Vulnerability metadata is only available through remote feeds, not local feeds. Some servers do not return vulnerability information via
            <see cref="T:NuGet.Protocol.Core.Types.PackageSearchResource" /> results, only through <see cref="T:NuGet.Protocol.Core.Types.PackageMetadataResource" /> or <see cref= "T:NuGet.Protocol.Core.Types.FindPackageByIdResource" />.
            </remarks>
        </member>
        <member name="T:NuGet.Protocol.Core.Types.PackageSearchMetadataBuilder">
            <summary>
            Helper class allowing creation/alteration of immutable package metadata objects.
            </summary>
        </member>
        <member name="T:NuGet.Protocol.Core.Types.PackageSearchMetadataExtensions">
            <summary>
            Shortcut methods to create altered metadata objects with new versions.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Core.Types.VersionInfo.PackageSearchMetadata">
            <summary>
            In V2, when finding the list of versions that a package ID has, we also get all of the metadata
            associated with each version. It would be wasteful to throw this away, so we store what we have
            here. For V3, the metadata property is null. Callers that receive this type need to be able to
            fetch this package metadata some other way if this property is null.
            </summary>
        </member>
        <member name="T:NuGet.Protocol.Core.Types.NuGetResourceProviderPositions">
            <summary>
            Positions to base providers on
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Core.Types.NuGetResourceProviderPositions.First">
            <summary>
            The first provider called
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Core.Types.NuGetResourceProviderPositions.Last">
            <summary>
            The last provider called
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.NuGetTestMode.InvokeTestFunctionAgainstTestMode``1(System.Func{``0},System.Boolean)">
            <summary>
            Intended for internal use only: utility method for testing purposes.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.PackageProgressEventArgs.#ctor(NuGet.Packaging.Core.PackageIdentity,NuGet.Configuration.PackageSource,System.Double)">
            <summary>
            The status of a package action.
            </summary>
            <param name="identity">package identity</param>
            <param name="source">repository source or null</param>
            <param name="complete">0.0 - 1.0</param>
        </member>
        <member name="P:NuGet.Protocol.Core.Types.PackageProgressEventArgs.Complete">
            <summary>
            Completion - 0.0 - 1.0
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Core.Types.PackageProgressEventArgs.IsComplete">
            <summary>
            True at 100% completion
            </summary>
        </member>
        <member name="T:NuGet.Protocol.Core.Types.ProviderComparer">
            <summary>
            An imperfect sort for provider before/after
            </summary>
        </member>
        <member name="T:NuGet.Protocol.Core.Types.PluginResourceProvider">
            <summary>
            A plugin resource provider.
            </summary>
            <remarks>This is unsealed only to facilitate testing.</remarks>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.PluginResourceProvider.TryCreate(NuGet.Protocol.Core.Types.SourceRepository,System.Threading.CancellationToken)">
            <summary>
            Asynchronously attempts to create a resource for the specified source repository.
            </summary>
            <param name="source">A source repository.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns a Tuple&lt;bool, INuGetResource&gt;</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="source"/> is <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken"/>
            is cancelled.</exception>
        </member>
        <member name="T:NuGet.Protocol.Core.Types.PluginFindPackageByIdResource">
            <summary>
            A <see cref="T:NuGet.Protocol.Core.Types.FindPackageByIdResource" /> for plugins.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.PluginFindPackageByIdResource.#ctor(NuGet.Protocol.Plugins.IPlugin,NuGet.Protocol.Plugins.IPluginMulticlientUtilities,NuGet.Configuration.PackageSource)">
            <summary>
            Instantiates a new <see cref="T:NuGet.Protocol.Core.Types.PluginFindPackageByIdResource" /> class.
            </summary>
            <param name="plugin">A plugin.</param>
            <param name="utilities">A plugin multiclient utilities.</param>
            <param name="packageSource">A package source.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="plugin" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="utilities" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="packageSource" />
            is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.PluginFindPackageByIdResource.CopyNupkgToStreamAsync(System.String,NuGet.Versioning.NuGetVersion,System.IO.Stream,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Asynchronously copies a .nupkg to a stream.
            </summary>
            <param name="id">A package ID.</param>
            <param name="version">A package version.</param>
            <param name="destination">A destination stream.</param>
            <param name="cacheContext">A source cache context.</param>
            <param name="logger">A logger.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:System.Boolean" /> indicating whether or not the .nupkg file was copied.</returns>
            <exception cref="T:System.NotSupportedException">Thrown always.</exception>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.PluginFindPackageByIdResource.GetPackageDownloaderAsync(NuGet.Packaging.Core.PackageIdentity,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets a package downloader for a package identity.
            </summary>
            <param name="packageIdentity">A package identity.</param>
            <param name="cacheContext">A source cache context.</param>
            <param name="logger">A logger.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an <see cref="T:NuGet.Packaging.IPackageDownloader" />.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="packageIdentity" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="cacheContext" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.PluginFindPackageByIdResource.GetAllVersionsAsync(System.String,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets all package versions for a package ID.
            </summary>
            <param name="id">A package ID.</param>
            <param name="cacheContext">A source cache context.</param>
            <param name="logger">A logger.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:System.Collections.Generic.IEnumerable`1" />.</returns>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="id" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="cacheContext" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.PluginFindPackageByIdResource.GetDependencyInfoAsync(System.String,NuGet.Versioning.NuGetVersion,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets dependency information for a specific package.
            </summary>
            <param name="id">A package id.</param>
            <param name="version">A package version.</param>
            <param name="cacheContext">A source cache context.</param>
            <param name="logger">A logger.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:System.Collections.Generic.IEnumerable`1" />.</returns>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="id" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="version" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="cacheContext" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.PluginFindPackageByIdResource.DoesPackageExistAsync(System.String,NuGet.Versioning.NuGetVersion,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Asynchronously check if exact package (id/version) exists at this source.
            </summary>
            <param name="id">A package id.</param>
            <param name="version">A package version.</param>
            <param name="cacheContext">A source cache context.</param>
            <param name="logger">A logger.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:System.Collections.Generic.IEnumerable`1" />.</returns>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="id" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="version" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="cacheContext" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="T:NuGet.Protocol.Core.Types.RemoteSourceDependencyInfo">
            <summary>
            A collection of package dependency groups with the content (nupkg url).
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.RemoteSourceDependencyInfo.#ctor(NuGet.Packaging.Core.PackageIdentity,System.Boolean,System.Collections.Generic.IEnumerable{NuGet.Packaging.PackageDependencyGroup},System.String)">
            <summary>
            DependencyInfo
            </summary>
            <param name="identity">package identity</param>
            <param name="dependencyGroups">package dependency groups</param>
            <param name="contentUri">The content uri for the dependency.</param>
        </member>
        <member name="P:NuGet.Protocol.Core.Types.RemoteSourceDependencyInfo.Identity">
            <summary>
            Package identity
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Core.Types.RemoteSourceDependencyInfo.Listed">
            <summary>
            IsListed
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Core.Types.RemoteSourceDependencyInfo.DependencyGroups">
            <summary>
            Package dependency groups
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Core.Types.RemoteSourceDependencyInfo.ContentUri">
            <summary>
            The content url of this resource.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.Repository.CreateProvider(System.Collections.Generic.IEnumerable{NuGet.Protocol.Core.Types.INuGetResourceProvider})">
            <summary>
            Create the default source repository provider
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.Repository.CreateProvider(System.Collections.Generic.IEnumerable{NuGet.Protocol.Core.Types.INuGetResourceProvider},System.String)">
            <summary>
            Find sources from nuget.config based on the root path
            </summary>
            <param name="rootPath">lowest folder path</param>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.Repository.CreateSource(System.Collections.Generic.IEnumerable{System.Lazy{NuGet.Protocol.Core.Types.INuGetResourceProvider}},System.String)">
            <summary>
            Create a SourceRepository
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.Repository.CreateSource(System.Collections.Generic.IEnumerable{System.Lazy{NuGet.Protocol.Core.Types.INuGetResourceProvider}},System.String,NuGet.Protocol.FeedType)">
            <summary>
            Create a SourceRepository
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.Repository.CreateSource(System.Collections.Generic.IEnumerable{System.Lazy{NuGet.Protocol.Core.Types.INuGetResourceProvider}},NuGet.Configuration.PackageSource)">
            <summary>
            Create a SourceRepository
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.Repository.CreateSource(System.Collections.Generic.IEnumerable{System.Lazy{NuGet.Protocol.Core.Types.INuGetResourceProvider}},NuGet.Configuration.PackageSource,NuGet.Protocol.FeedType)">
            <summary>
            Create a SourceRepository
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.ResourceProvider.#ctor(System.Type,System.String,System.Collections.Generic.IEnumerable{System.String},System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            </summary>
            <param name="resourceType">Type this resource provider creates</param>
            <param name="name">name used for ordering</param>
            <param name="before">providers that this provider should have precendence over</param>
            <param name="after">providers that this provider should be called after</param>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.ResourceProvider.TryCreate(NuGet.Protocol.Core.Types.SourceRepository,System.Threading.CancellationToken)">
            <inheritdoc cref="M:NuGet.Protocol.Core.Types.INuGetResourceProvider.TryCreate(NuGet.Protocol.Core.Types.SourceRepository,System.Threading.CancellationToken)"/>
        </member>
        <member name="T:NuGet.Protocol.Core.Types.DependencyInfoResource">
            <summary>
            Provides methods for resolving a package and its dependencies. This might change based on the new
            dependency resolver.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.DependencyInfoResource.ResolvePackage(NuGet.Packaging.Core.PackageIdentity,NuGet.Frameworks.NuGetFramework,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Retrieve dependency info for a single package.
            </summary>
            <param name="package">package id and version</param>
            <param name="projectFramework">project target framework. This is used for finding the dependency group</param>
            <param name="token">cancellation token</param>
            <returns>
            Returns dependency info for the given package if it exists. If the package is not found null is
            returned.
            </returns>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.DependencyInfoResource.ResolvePackages(System.String,NuGet.Frameworks.NuGetFramework,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Retrieve the available packages and their dependencies.
            </summary>
            <remarks>Includes prerelease packages</remarks>
            <param name="packageId">package Id to search</param>
            <param name="projectFramework">project target framework. This is used for finding the dependency group</param>
            <param name="token">cancellation token</param>
            <returns>available packages and their dependencies</returns>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.DependencyInfoResource.ResolvePackages(System.String,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Retrieve the available packages and their dependencies.
            </summary>
            <remarks>Includes prerelease packages</remarks>
            <param name="packageId">package Id to search</param>
            <param name="token">cancellation token</param>
            <returns>available packages and their dependencies</returns>
        </member>
        <member name="T:NuGet.Protocol.Core.Types.DownloadResource">
            <summary>
            Finds the download url of a nupkg
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.DownloadResource.GetDownloadResourceResultAsync(NuGet.Packaging.Core.PackageIdentity,NuGet.Protocol.Core.Types.PackageDownloadContext,System.String,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Downloads a package .nupkg with the provided identity. If the package is not available
            on the source but the source itself is not down or unavailable, the
            <see cref="P:NuGet.Protocol.Core.Types.DownloadResourceResult.Status"/> will be <see cref="F:NuGet.Protocol.Core.Types.DownloadResourceResultStatus.NotFound"/>.
            If the operation was cancelled, the <see cref="P:NuGet.Protocol.Core.Types.DownloadResourceResult.Status"/> will be
            <see cref="F:NuGet.Protocol.Core.Types.DownloadResourceResultStatus.Cancelled"/>.
            </summary>
        </member>
        <member name="T:NuGet.Protocol.Core.Types.FindPackageByIdResource">
            <summary>
            A resource capable of fetching packages, package versions and package dependency information.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.FindPackageByIdResource.GetAllVersionsAsync(System.String,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets all package versions for a package ID.
            </summary>
            <param name="id">A package ID.</param>
            <param name="cacheContext">A source cache context.</param>
            <param name="logger">A logger.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:System.Collections.Generic.IEnumerable`1" />.</returns>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="id" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="cacheContext" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.FindPackageByIdResource.GetDependencyInfoAsync(System.String,NuGet.Versioning.NuGetVersion,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets dependency information for a specific package.
            </summary>
            <param name="id">A package id.</param>
            <param name="version">A package version.</param>
            <param name="cacheContext">A source cache context.</param>
            <param name="logger">A logger.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:System.Collections.Generic.IEnumerable`1" />.</returns>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="id" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="version" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="cacheContext" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.FindPackageByIdResource.CopyNupkgToStreamAsync(System.String,NuGet.Versioning.NuGetVersion,System.IO.Stream,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Asynchronously copies a .nupkg to a stream.
            </summary>
            <param name="id">A package ID.</param>
            <param name="version">A package version.</param>
            <param name="destination">A destination stream.</param>
            <param name="cacheContext">A source cache context.</param>
            <param name="logger">A logger.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:System.Boolean" /> indicating whether or not the .nupkg file was copied.</returns>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="id" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="version" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="destination" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="cacheContext" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.FindPackageByIdResource.GetPackageDownloaderAsync(NuGet.Packaging.Core.PackageIdentity,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets a package downloader for a package identity.
            </summary>
            <param name="packageIdentity">A package identity.</param>
            <param name="cacheContext">A source cache context.</param>
            <param name="logger">A logger.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an <see cref="T:NuGet.Packaging.IPackageDownloader" />.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="packageIdentity" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="cacheContext" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.FindPackageByIdResource.DoesPackageExistAsync(System.String,NuGet.Versioning.NuGetVersion,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Asynchronously check if exact package (id/version) exists at this source.
            </summary>
            <param name="id">A package id.</param>
            <param name="version">A package version.</param>
            <param name="cacheContext">A source cache context.</param>
            <param name="logger">A logger.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:System.Collections.Generic.IEnumerable`1" />.</returns>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="id" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="version" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="cacheContext" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.FindPackageByIdResource.GetDependencyInfo(NuGet.Packaging.NuspecReader)">
            <summary>
            Read dependency info from a nuspec.
            </summary>
            <remarks>This also verifies minClientVersion.</remarks>
        </member>
        <member name="T:NuGet.Protocol.Core.Types.HttpHandlerResource">
            <summary>
            An HttpClient configured for the package source
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Core.Types.HttpHandlerResource.ClientHandler">
            <summary>
            HttpClientHandler used for credential support.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Core.Types.HttpHandlerResource.MessageHandler">
            <summary>
            Message handler containing the ClientHandler.
            </summary>
        </member>
        <member name="T:NuGet.Protocol.Core.Types.LegacyFeedCapabilityResource">
            <summary>
            A resource for detecting the capabilities of a V2 feed.
            </summary>
        </member>
        <member name="T:NuGet.Protocol.Core.Types.MetadataResource">
            <summary>
            Basic metadata
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.MetadataResource.GetVersions(System.String,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Get all versions of a package
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.MetadataResource.GetVersions(System.String,System.Boolean,System.Boolean,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Get all versions of a package
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.MetadataResource.Exists(NuGet.Packaging.Core.PackageIdentity,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            True if the package exists in the source
            Includes unlisted.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.MetadataResource.Exists(NuGet.Packaging.Core.PackageIdentity,System.Boolean,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            True if the package exists in the source
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.PackageMetadataResource.GetMetadataAsync(System.String,System.Boolean,System.Boolean,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Returns all versions of a package
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.PackageMetadataResource.GetMetadataAsync(NuGet.Packaging.Core.PackageIdentity,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Return package metadata for the input PackageIdentity
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.PackageSearchResource.SearchAsync(System.String,NuGet.Protocol.Core.Types.SearchFilter,System.Int32,System.Int32,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Retrieves search results
            </summary>
        </member>
        <member name="T:NuGet.Protocol.Core.Types.PackageUpdateResource">
            <summary>
            Contains logics to push or delete packages in Http server or file system
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Core.Types.PackageUpdateResource.TempApiKeyServiceEndpoint">
            <summary>
            Create temporary verification api key endpoint: "create-verification-key/[package id]/[package version]"
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.PackageUpdateResource.PushPackagePath(System.String,System.String,System.String,System.String,System.Func{System.String,System.String},System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.TimeSpan,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Push nupkgs, and if successful, push any corresponding symbols.
            </summary>
            <exception cref="T:System.ArgumentException">Thrown when any resolved file path does not exist.</exception>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.PackageUpdateResource.GetSymbolsPath(System.String,System.Boolean)">
            <summary>
            Get the symbols package from the original package. Removes the .nupkg and adds .snupkg or .symbols.nupkg.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.PackageUpdateResource.PushPackageToServer(System.String,System.String,System.String,System.Boolean,System.Boolean,System.TimeSpan,System.Boolean,System.Boolean,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Pushes a package to the Http server.
            </summary>
            <returns>Indicator of whether to show PushCommandPackagePushed message.</returns>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.PackageUpdateResource.EnsureSuccessStatusCode(System.Net.Http.HttpResponseMessage,System.Nullable{System.Net.HttpStatusCode},NuGet.Common.ILogger)">
            <summary>
            Ensures a Success HTTP Status Code is returned unless a specified exclusion occurred. If CodeNotToThrow is provided and the response contains
            this code, do not EnsureSuccess and instead return the exception code gracefully.
            </summary>
            <param name="response"></param>
            <param name="codeNotToThrow"></param>
            <param name="logger"></param>
            <returns>Response StatusCode</returns>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.PackageUpdateResource.DetectAndLogSkippedErrorOccurrence(System.Nullable{System.Net.HttpStatusCode},System.String,System.String,System.String,NuGet.Common.ILogger)">
            <summary>
            Gently log any specified Skipped status code without throwing.
            </summary>
            <param name="skippedErrorStatusCode">If provided, it indicates that this StatusCode occurred but was flagged as to be Skipped.</param>
            <param name="source"></param>
            <param name="packageIdentity"></param>
            <param name="reasonMessage"></param>
            <param name="logger"></param>
            <returns>Indication of whether the log occurred.</returns>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.PackageUpdateResource.AdvertiseAvailableOptionToIgnore(System.Net.HttpStatusCode,NuGet.Common.ILogger)">
            <summary>
            If we provide such option, output a help message that explains that the error that occurred can be ignored by using it.
            </summary>
            <param name="errorCodeThatOccurred">Error to check for a relevant option to advertise to the user. </param>
            <param name="logger"></param>
        </member>
        <member name="T:NuGet.Protocol.Core.Types.PluginResource">
            <summary>
            Represents a plugin resource.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.PluginResource.#ctor(System.Collections.Generic.IEnumerable{NuGet.Protocol.Plugins.PluginCreationResult},NuGet.Configuration.PackageSource,NuGet.Configuration.ICredentialService)">
            <summary>
            Instantiates a new <see cref="T:NuGet.Protocol.Core.Types.PluginResource" /> class.
            </summary>
            <param name="pluginCreationResults">Plugin creation results.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="pluginCreationResults" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="packageSource" />
            is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.PluginResource.GetPluginAsync(NuGet.Protocol.Plugins.OperationClaim,System.Threading.CancellationToken)">
            <summary>
            Gets the first plugin satisfying the required operation claims for the current package source.
            </summary>
            <param name="requiredClaim">The required operation claim.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns a <see cref="T:NuGet.Protocol.Core.Types.PluginResource.GetPluginResult" />.</returns>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="T:NuGet.Protocol.Core.Types.SymbolPackageUpdateResourceV3">
            <summary>
            Contains logics to push symbol packages in Http server or file system
            </summary>
        </member>
        <member name="T:NuGet.Protocol.Core.Types.SearchFilter">
            <summary>
            A search filter context that represents the UI settings
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.SearchFilter.#ctor(System.Boolean)">
            <summary>
            Initializes an instance of a <see cref="T:NuGet.Protocol.Core.Types.SearchFilter"/> and validates required parameters.
            </summary>
            <param name="includePrerelease">Whether or not to allow prerelease results.</param>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.SearchFilter.#ctor(System.Boolean,System.Nullable{NuGet.Protocol.Core.Types.SearchFilterType})">
            <summary>
            Initializes an instance of a <see cref="T:NuGet.Protocol.Core.Types.SearchFilter"/> and validates required parameters.
            </summary>
            <param name="includePrerelease">Whether or not to allow prerelease results.</param>
            <param name="filter">The filter to apply to the results.</param>
        </member>
        <member name="P:NuGet.Protocol.Core.Types.SearchFilter.SupportedFrameworks">
            <summary>
            Filter to only the list of packages compatible with these frameworks.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Core.Types.SearchFilter.IncludePrerelease">
            <summary>
            Include prerelease packages in search
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Core.Types.SearchFilter.IncludeDelisted">
            <summary>
            Include unlisted packages in search
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Core.Types.SearchFilter.PackageTypes">
            <summary>
            Restrict the search to certain package types.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Core.Types.SearchFilter.Filter">
            <summary>
            The optional filter type. Absense of this value indicates that all versions should be returned.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Core.Types.SearchFilter.OrderBy">
            <summary>
            The optional order by. Absense of this value indicates that search results should be ordered by relevance.
            </summary>
        </member>
        <member name="T:NuGet.Protocol.Core.Types.SearchFilterType">
            <summary>
            The type of filter to apply to the search.
            </summary>
            <remarks>
            Here are some examples to clarify what these filters mean. Suppose the very latest version is prerelease.
            
              Version     | Prerelease | IsLatestVersion | IsAbsoluteLatestVersion
              ------------|------------|-----------------|------------------------
              8.0.1-beta1 | true       | false           | false
              8.0.3       | false      | false           | false
              9.0.1       | false      | true            | false
              9.0.2-beta1 | true       | false           | true
            
            Suppose the very latest version is not prerelease. Notice the latest version is also the absolute latest
            version. In other words, a prerelease package cannot be a latest version but a non-prerelease package can be
            both the latest version and the absolute latest version.
            
              Version     | Prerelease | IsLatestVersion | IsAbsoluteLatestVersion
              ------------|------------|-----------------|------------------------
              8.0.1-beta1 | true       | false           | false
              8.0.3       | false      | false           | false
              9.0.1       | false      | true            | true
            
            Suppose there are only prerelease versions. Notice there are no package that has IsLatestVersion as true.
            
              Version     | Prerelease | IsLatestVersion | IsAbsoluteLatestVersion
              ------------|------------|-----------------|------------------------
              8.0.1-beta1 | true       | false           | false
              9.0.2-beta1 | true       | false           | true
            
            </remarks>
        </member>
        <member name="F:NuGet.Protocol.Core.Types.SearchFilterType.IsLatestVersion">
            <summary>
            Only select the latest stable version of a package per package ID. Given the server supports
            <see cref="F:NuGet.Protocol.Core.Types.SearchFilterType.IsAbsoluteLatestVersion"/>, a package that is <see cref="F:NuGet.Protocol.Core.Types.SearchFilterType.IsLatestVersion"/> should never be
            prerelease. Also, it does not make sense to look for a <see cref="F:NuGet.Protocol.Core.Types.SearchFilterType.IsLatestVersion"/> package when also
            including prerelease.
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Core.Types.SearchFilterType.IsAbsoluteLatestVersion">
            <summary>
            Only select the absolute latest version of a package per package ID. It does not make sense to look for a
            <see cref="F:NuGet.Protocol.Core.Types.SearchFilterType.IsAbsoluteLatestVersion"/> when excluding prerelease.
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Core.Types.SearchOrderBy.Id">
            <summary>
            Order the resulting packages by package ID.
            </summary>
        </member>
        <member name="T:NuGet.Protocol.Core.Types.SourceCacheContext">
            <summary>
            Cache control settings for the V3 disk cache.
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Core.Types.SourceCacheContext._generatedTempFolder">
            <summary>
            Path of temp folder if requested by GeneratedTempFolder
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Core.Types.SourceCacheContext.DefaultMaxAge">
            <summary>
            Default amount of time to cache version lists.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Core.Types.SourceCacheContext.NoCache">
            <summary>
            If set, the global disk cache will not be written to or read from. Instead, a temporary directory will be
            used.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Core.Types.SourceCacheContext.DirectDownload">
            <summary>
            If set, the global disk cache will not be written to.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Core.Types.SourceCacheContext.MaxAge">
            <summary>
            Package version lists or packages from the server older than this date will be fetched from the server.
            </summary>
            <remarks>This will be ignored if <see cref="P:NuGet.Protocol.Core.Types.SourceCacheContext.NoCache"/> is true.</remarks>
            <remarks>If the value is null the default expiration will be used.</remarks>
        </member>
        <member name="P:NuGet.Protocol.Core.Types.SourceCacheContext.RefreshMemoryCache">
            <summary>
            Force the in-memory cache to reload. This avoids allowing other calls to populate
            the memory cache again from cached files on disk using a different source context.
            This should only be used for retries.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Core.Types.SourceCacheContext.SessionId">
            <summary>
            X-NUGET-SESSION
            This should be unique for each package operation.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Core.Types.SourceCacheContext.MaxAgeTimeSpan">
            <summary>
            Package version lists from the server older than this time span
            will be fetched from the server.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.SourceCacheContext.Clone">
            <summary>
            Clones the current SourceCacheContext.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.SourceCacheContext.WithRefreshCacheTrue">
            <summary>
            Clones the current cache context and does the following:
            1. Sets MaxAge to Now
            2. RefreshMemoryCache to true
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Core.Types.SourcePackageDependencyInfo.Listed">
            <summary>
            True if the package is listed and shown in search.
            </summary>
            <remarks>This property only applies to online sources.</remarks>
        </member>
        <member name="P:NuGet.Protocol.Core.Types.SourcePackageDependencyInfo.Source">
            <summary>
            Source repository the dependency information was retrieved from.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Core.Types.SourcePackageDependencyInfo.DownloadUri">
            <summary>
            The HTTP, UNC, or local file URI to the package nupkg.
            </summary>
            <remarks>Optional</remarks>
        </member>
        <member name="P:NuGet.Protocol.Core.Types.SourcePackageDependencyInfo.PackageHash">
            <summary>
            Package hash
            </summary>
            <remarks>Optional</remarks>
        </member>
        <member name="T:NuGet.Protocol.Core.Types.SourceRepository">
            <summary>
            Represents a Server endpoint. Exposes methods to get a specific resource such as Search, Metrics service
            and so on for the given server endpoint.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Core.Types.SourceRepository.FeedTypeOverride">
            <summary>
            Pre-determined feed type.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.SourceRepository.#ctor(NuGet.Configuration.PackageSource,System.Collections.Generic.IEnumerable{NuGet.Protocol.Core.Types.INuGetResourceProvider})">
            <summary>
            Source Repository
            </summary>
            <param name="source">source url</param>
            <param name="providers">Resource providers</param>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.SourceRepository.#ctor(NuGet.Configuration.PackageSource,System.Collections.Generic.IEnumerable{System.Lazy{NuGet.Protocol.Core.Types.INuGetResourceProvider}})">
            <summary>
            Source Repository
            </summary>
            <param name="source">source url</param>
            <param name="providers">Resource providers</param>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.SourceRepository.#ctor(NuGet.Configuration.PackageSource,System.Collections.Generic.IEnumerable{System.Lazy{NuGet.Protocol.Core.Types.INuGetResourceProvider}},NuGet.Protocol.FeedType)">
            <summary>
            Source Repository
            </summary>
            <param name="source">source url</param>
            <param name="providers">Resource providers</param>
            <param name="feedTypeOverride">Restrict the source to this feed type.</param>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.SourceRepository.#ctor">
            <summary>
            Internal default constructor
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Core.Types.SourceRepository.PackageSource">
            <summary>
            Package source
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.SourceRepository.GetFeedType(System.Threading.CancellationToken)">
            <summary>
            Find the FeedType of the source. If overridden FeedTypeOverride is returned.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.SourceRepository.GetResource``1">
            <summary>
            Returns a resource from the SourceRepository if it exists.
            </summary>
            <typeparam name="T">Expected resource type</typeparam>
            <returns>Null if the resource does not exist</returns>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.SourceRepository.GetResource``1(System.Threading.CancellationToken)">
            <summary>
            Returns a resource from the SourceRepository if it exists.
            </summary>
            <typeparam name="T">Expected resource type</typeparam>
            <returns>Null if the resource does not exist</returns>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.SourceRepository.GetResourceAsync``1">
            <summary>
            Returns a resource from the SourceRepository if it exists.
            </summary>
            <typeparam name="T">Expected resource type</typeparam>
            <returns>Null if the resource does not exist</returns>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.SourceRepository.GetResourceAsync``1(System.Threading.CancellationToken)">
            <summary>
            Returns a resource from the SourceRepository if it exists.
            </summary>
            <typeparam name="T">Expected resource type</typeparam>
            <returns>Null if the resource does not exist</returns>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.SourceRepository.Init(System.Collections.Generic.IEnumerable{System.Lazy{NuGet.Protocol.Core.Types.INuGetResourceProvider}})">
            <summary>
            Initialize provider cache
            </summary>
            <param name="providers"></param>
            <returns></returns>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.SourceRepository.GetFeedType(NuGet.Configuration.PackageSource)">
            <summary>
            Get the feed type from the package source.
            </summary>
        </member>
        <member name="T:NuGet.Protocol.Core.Types.SourceRepositoryProvider">
            <summary>
            SourceRepositoryProvider is the high level source for repository objects representing package sources.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.SourceRepositoryProvider.#ctor(NuGet.Configuration.IPackageSourceProvider,System.Collections.Generic.IEnumerable{System.Lazy{NuGet.Protocol.Core.Types.INuGetResourceProvider}})">
            <summary>
            Non-MEF constructor
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.SourceRepositoryProvider.GetRepositories">
            <summary>
            Retrieve repositories
            </summary>
            <returns></returns>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.SourceRepositoryProvider.CreateRepository(NuGet.Configuration.PackageSource)">
            <summary>
            Create a repository for one time use.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.SourceRepositoryProvider.CreateRepository(NuGet.Configuration.PackageSource,NuGet.Protocol.FeedType)">
            <summary>
            Create a repository for one time use.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Core.Types.UserAgent.SetUserAgent(System.Net.Http.HttpClient)">
            <summary>
            Set user agent string on HttpClient to the static string.
            </summary>
            <param name="client">Http client</param>
        </member>
        <member name="T:NuGet.Protocol.EnhancedHttpRetryHelper">
            <summary>
            Represents a helper class for determining if enhanced retry is enabled and what settings to use.
            </summary>
        </member>
        <member name="F:NuGet.Protocol.EnhancedHttpRetryHelper.DefaultDelayMilliseconds">
            <summary>
            The default delay in milliseconds between retries.
            </summary>
        </member>
        <member name="F:NuGet.Protocol.EnhancedHttpRetryHelper.DefaultRetryCount">
            <summary>
            The default number of times to retry.
            </summary>
        </member>
        <member name="F:NuGet.Protocol.EnhancedHttpRetryHelper.DefaultRetry429">
            <summary>
            The default value indicating whether or not to retry HTTP 429 responses.
            </summary>
        </member>
        <member name="F:NuGet.Protocol.EnhancedHttpRetryHelper.DefaultObserveRetryAfter">
            <summary>
            The default value indicating whether or not to observe Retry-After headers on responses.
            </summary>
        </member>
        <member name="F:NuGet.Protocol.EnhancedHttpRetryHelper.DefaultMaximumRetryAfterDelayInSeconds">
            <summary>
            The default maximum delay in milliseconds to observe for a Retry-After header.
            </summary>
        </member>
        <member name="F:NuGet.Protocol.EnhancedHttpRetryHelper.DelayInMillisecondsEnvironmentVariableName">
            <summary>
            The environment variable used to change the delay value.
            </summary>
        </member>
        <member name="F:NuGet.Protocol.EnhancedHttpRetryHelper.RetryCountEnvironmentVariableName">
            <summary>
            The environment variable used to change the retry value.
            </summary>
        </member>
        <member name="F:NuGet.Protocol.EnhancedHttpRetryHelper.Retry429EnvironmentVariableName">
            <summary>
            The environment variabled to to disable retrying HTTP 429 responses.
            </summary>
        </member>
        <member name="F:NuGet.Protocol.EnhancedHttpRetryHelper.ObserveRetryAfterEnvironmentVariableName">
            <summary>
            The envionment variable to disable observing Retry-After responses.
            </summary>
        </member>
        <member name="F:NuGet.Protocol.EnhancedHttpRetryHelper.MaximumRetryAfterDurationEnvironmentVariableName">
            <summary>
            The environment variable used to set maximum Retry-After delay period
            </summary>
        </member>
        <member name="M:NuGet.Protocol.EnhancedHttpRetryHelper.#ctor(NuGet.Common.IEnvironmentVariableReader)">
            <summary>
            Initializes a new instance of the <see cref="T:NuGet.Protocol.EnhancedHttpRetryHelper" /> class.
            </summary>
            <param name="environmentVariableReader">A <see cref="T:NuGet.Common.IEnvironmentVariableReader" /> to use when reading environment variables.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="environmentVariableReader" /> is <see langword="null" />.</exception>
        </member>
        <member name="P:NuGet.Protocol.EnhancedHttpRetryHelper.RetryCountOrDefault">
            <summary>
            Gets a value indicating the maximum number of times to retry.
            The default value is 6, see <see cref="F:NuGet.Protocol.EnhancedHttpRetryHelper.DefaultRetryCount" />.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.EnhancedHttpRetryHelper.DelayInMillisecondsOrDefault">
            <summary>
            Gets a value indicating the delay in milliseconds to wait before retrying a connection.
            The default value is 1000, <see cref="F:NuGet.Protocol.EnhancedHttpRetryHelper.DefaultDelayMilliseconds" />.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.EnhancedHttpRetryHelper.DelayInMilliseconds">
            <summary>
            Gets a value indicating the delay in milliseconds to wait before retrying a connection.|
            Will only have a value if the environment variable is set, otherwise it will be <see langword="null" />.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.EnhancedHttpRetryHelper.Retry429OrDefault">
            <summary>
            Gets a value indicating whether or not retryable HTTP 4xx responses should be retried.
            Default is <see langword="true" />, <see cref="F:NuGet.Protocol.EnhancedHttpRetryHelper.DefaultObserveRetryAfter"/>.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.EnhancedHttpRetryHelper.ObserveRetryAfterOrDefault">
            <summary>
            Gets a value indicating whether or not to observe the Retry-After header on HTTP responses.
            Default is <see langword="true" />, <see cref="F:NuGet.Protocol.EnhancedHttpRetryHelper.DefaultObserveRetryAfter"/>.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.EnhancedHttpRetryHelper.MaxRetryAfterDelayOrDefault">
            <summary>
            Gets a value indicating the maximum delay to observe for a Retry-After header.
            Default is 1 hour, <see cref="F:NuGet.Protocol.EnhancedHttpRetryHelper.DefaultMaximumRetryAfterDelayInSeconds" />.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.EnhancedHttpRetryHelper.GetBoolFromEnvironmentVariable(System.String,System.Boolean,NuGet.Common.IEnvironmentVariableReader)">
            <summary>
            Gets a <see cref="T:System.Boolean" /> value from the specified environment variable.
            </summary>
            <param name="variableName">The name of the environment variable to get the value.</param>
            <param name="defaultValue">The default value to return if the environment variable is not defined or is not a valid <see cref="T:System.Boolean" />.</param>
            <param name="environmentVariableReader">An <see cref="T:NuGet.Common.IEnvironmentVariableReader" /> to use when reading the environment variable.</param>
            <returns>The value of the specified as a <see cref="T:System.Boolean" /> if the specified environment variable is defined and is a valid value for <see cref="T:System.Boolean" />.</returns>
        </member>
        <member name="M:NuGet.Protocol.EnhancedHttpRetryHelper.GetIntFromEnvironmentVariableOrDefault(System.String,System.Int32,NuGet.Common.IEnvironmentVariableReader)">
            <summary>
            Gets an <see cref="T:System.Int32" /> value from the specified environment variable.
            </summary>
            <param name="variableName">The name of the environment variable to get the value.</param>
            <param name="defaultValue">The default value to return if the environment variable is not defined or is not a valid <see cref="T:System.Int32" />.</param>
            <param name="environmentVariableReader">An <see cref="T:NuGet.Common.IEnvironmentVariableReader" /> to use when reading the environment variable.</param>
            <returns> A tuple containing a <see cref="T:System.Boolean" /> indicating if the value was provided through an environment variable parsed and a valid int.
            the value of the specified as a <see cref="T:System.Int32" /> if the specified environment variable
            is defined and is a valid value for <see cref="T:System.Int32" />.</returns>
        </member>
        <member name="T:NuGet.Protocol.Events.ProtocolDiagnosticServiceIndexEntryEvent">
            <summary>
            Represents a diagnostic event for tracking protocol service index entries, specifically identifying if an HTTPS source contains HTTP resources.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Events.ProtocolDiagnosticServiceIndexEntryEvent.Source">
            <summary>
            Gets the source URL of the service index entry.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Events.ProtocolDiagnosticServiceIndexEntryEvent.HttpsSourceHasHttpResource">
            <summary>
            Gets a value indicating whether an HTTPS source has an HTTP resource.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Events.ProtocolDiagnosticServiceIndexEntryEvent.#ctor(System.String,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:NuGet.Protocol.Events.ProtocolDiagnosticServiceIndexEntryEvent"/> class.
            </summary>
            <param name="source">The source URL of the service index entry.</param>
            <param name="httpsSourceHasHttpResource">Indicates if the HTTPS source has an HTTP resource.</param>
        </member>
        <member name="T:NuGet.Protocol.InvalidCacheProtocolException">
            <summary>
            Failure due to an invalid cache.
            </summary>
        </member>
        <member name="T:NuGet.Protocol.PackageNotFoundProtocolException">
            <summary>
            Thrown when a package cannot be found on a feed.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.PackageNotFoundProtocolException.PackageIdentity">
            <summary>
            Package that was not found.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.VisualStudio.FactoryExtensionsVS.GetVisualStudio(NuGet.Protocol.Core.Types.Repository.ProviderFactory)">
            <summary>
            Core V2 + Core V3 + VS
            </summary>
        </member>
        <member name="F:NuGet.Protocol.FeedType.Undefined">
            <summary>
            Undetermined type
            </summary>
        </member>
        <member name="F:NuGet.Protocol.FeedType.HttpV2">
            <summary>
            V2 OData protocol, ex: https://www.nuget.org/api/v2/
            </summary>
        </member>
        <member name="F:NuGet.Protocol.FeedType.HttpV3">
            <summary>
            V3 Json protocol, ex: https://api.nuget.org/v3/index.json
            </summary>
        </member>
        <member name="F:NuGet.Protocol.FeedType.FileSystemV2">
            <summary>
            Flat folder of nupkgs
            </summary>
        </member>
        <member name="F:NuGet.Protocol.FeedType.FileSystemV3">
            <summary>
            Version folder structure used for project.json
            </summary>
        </member>
        <member name="F:NuGet.Protocol.FeedType.FileSystemUnzipped">
            <summary>
            Unzipped folder of nupkgs used by project templates
            </summary>
        </member>
        <member name="F:NuGet.Protocol.FeedType.FileSystemPackagesConfig">
            <summary>
            Packages.config packages folder format
            </summary>
        </member>
        <member name="F:NuGet.Protocol.FeedType.FileSystemUnknown">
            <summary>
            Undetermined folder type. Occurs when the folder is empty
            or does not exist yet.
            </summary>
        </member>
        <member name="T:NuGet.Protocol.FeedTypePackageSource">
            <summary>
            PackageSource that can carry a feed type used to override the source repository and provide a 
            hint for the expected type.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.FeedTypePackageSource.FeedType">
            <summary>
            Feed type, ex: HttpV2, FileSystemV3
            </summary>
        </member>
        <member name="T:NuGet.Protocol.FeedTypeResource">
            <summary>
            Resource wrapper for FeedType.
            </summary>
        </member>
        <member name="T:NuGet.Protocol.AmbientAuthenticationState">
            <summary>
            Represents source authentication status per active operation
            </summary>
        </member>
        <member name="T:NuGet.Protocol.DownloadTimeoutStreamContent">
            <summary>
            A wrapper around <see cref="T:System.Net.Http.StreamContent"/> that applies a <see cref="T:NuGet.Protocol.DownloadTimeoutStream"/>
            to the contained stream. When the <see cref="T:System.Net.Http.HttpResponseMessage"/> is disposed, this
            content is disposed which in turn disposes the <see cref="T:NuGet.Protocol.DownloadTimeoutStream"/>, which
            disposes the actual network stream.
            </summary>
        </member>
        <member name="T:NuGet.Protocol.HttpHandlerResourceV3">
            <summary>
            Resource wrapper for an HttpClient
            </summary>
        </member>
        <member name="P:NuGet.Protocol.HttpHandlerResourceV3.CredentialsSuccessfullyUsed">
            <summary>
            Gets or sets a delegate that is to be invoked when authenticated feed credentials are successfully
            used.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.HttpRequestMessageExtensions.Clone(System.Net.Http.HttpRequestMessage)">
            <summary>
            Clones an <see cref="T:System.Net.Http.HttpRequestMessage" /> request.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.HttpRequestMessageExtensions.GetOrCreateConfiguration(System.Net.Http.HttpRequestMessage)">
            <summary>
            Retrieves the HTTP request configuration instance attached to the given message as custom property.
            </summary>
            <param name="request">The HTTP request message.</param>
            <returns>Configuration instance if exists, or a default instance otherwise.</returns>
        </member>
        <member name="M:NuGet.Protocol.HttpRequestMessageExtensions.SetConfiguration(System.Net.Http.HttpRequestMessage,NuGet.Protocol.HttpRequestMessageConfiguration)">
            <summary>
            Attaches an HTTP request configuration instance to the given message as custom property.
            If the configuration has already been set on the request message, the old configuration
            is replaced.
            </summary>
            <param name="request">The HTTP request message.</param>
            <param name="configuration">An HTTP request message configuration instance.</param>
        </member>
        <member name="T:NuGet.Protocol.HttpRequestMessageFactory">
            <summary>
            Factory class containing methods facilitating creation of <see cref="T:System.Net.Http.HttpRequestMessage"/> 
            with additional custom parameters.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.HttpRequestMessageFactory.Create(System.Net.Http.HttpMethod,System.String,NuGet.Common.ILogger)">
            <summary>
            Creates an instance of <see cref="T:System.Net.Http.HttpRequestMessage"/>.
            </summary>
            <param name="method">Desired HTTP verb</param>
            <param name="requestUri">Request URI</param>
            <param name="log">Logger instance to be attached</param>
            <returns>Instance of <see cref="T:System.Net.Http.HttpRequestMessage"/></returns>
        </member>
        <member name="M:NuGet.Protocol.HttpRequestMessageFactory.Create(System.Net.Http.HttpMethod,System.Uri,NuGet.Common.ILogger)">
            <summary>
            Creates an instance of <see cref="T:System.Net.Http.HttpRequestMessage"/>.
            </summary>
            <param name="method">Desired HTTP verb</param>
            <param name="requestUri">Request URI</param>
            <param name="log">Logger instance to be attached</param>
            <returns>Instance of <see cref="T:System.Net.Http.HttpRequestMessage"/></returns>
        </member>
        <member name="M:NuGet.Protocol.HttpRequestMessageFactory.Create(System.Net.Http.HttpMethod,System.String,NuGet.Protocol.HttpRequestMessageConfiguration)">
            <summary>
            Creates an instance of <see cref="T:System.Net.Http.HttpRequestMessage"/>.
            </summary>
            <param name="method">Desired HTTP verb</param>
            <param name="requestUri">Request URI</param>
            <param name="configuration">The request configuration</param>
            <returns>Instance of <see cref="T:System.Net.Http.HttpRequestMessage"/></returns>
        </member>
        <member name="M:NuGet.Protocol.HttpRequestMessageFactory.Create(System.Net.Http.HttpMethod,System.Uri,NuGet.Protocol.HttpRequestMessageConfiguration)">
            <summary>
            Creates an instance of <see cref="T:System.Net.Http.HttpRequestMessage"/>.
            </summary>
            <param name="method">Desired HTTP verb</param>
            <param name="requestUri">Request URI</param>
            <param name="configuration">The request configuration</param>
            <returns>Instance of <see cref="T:System.Net.Http.HttpRequestMessage"/></returns>
        </member>
        <member name="T:NuGet.Protocol.HttpRetryHandler">
            <summary>
            The <see cref="T:NuGet.Protocol.HttpRetryHandler"/> is for retrying and HTTP request if it times out, has any exception,
            or returns a status code of 500 or greater.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.HttpRetryHandler.SendAsync(NuGet.Protocol.HttpRetryHandlerRequest,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Make an HTTP request while retrying after failed attempts or timeouts.
            </summary>
            <remarks>
            This method accepts a factory to create instances of the <see cref="T:System.Net.Http.HttpRequestMessage"/> because
            requests cannot always be used. For example, suppose the request is a POST and contains content
            of a stream that can only be consumed once.
            </remarks>
        </member>
        <member name="M:NuGet.Protocol.HttpRetryHandler.SendAsync(NuGet.Protocol.HttpRetryHandlerRequest,System.String,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Make an HTTP request while retrying after failed attempts or timeouts.
            </summary>
            <remarks>
            This method accepts a factory to create instances of the <see cref="T:System.Net.Http.HttpRequestMessage"/> because
            requests cannot always be used. For example, suppose the request is a POST and contains content
            of a stream that can only be consumed once.
            </remarks>
        </member>
        <member name="T:NuGet.Protocol.HttpRetryHandlerRequest">
            <summary>
            A request to be handled by <see cref="T:NuGet.Protocol.HttpRetryHandler"/>. This type should contain all
            of the knowledge necessary to make a request, while handling transient transport errors.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.HttpRetryHandlerRequest.HttpClient">
            <summary>The HTTP client to use for each request attempt.</summary>
        </member>
        <member name="P:NuGet.Protocol.HttpRetryHandlerRequest.RequestFactory">
            <summary>
            The factory that generates each request message. This factory is invoked for each attempt.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.HttpRetryHandlerRequest.CompletionOption">
            <summary>The HTTP completion option to use for the next attempt.</summary>
        </member>
        <member name="P:NuGet.Protocol.HttpRetryHandlerRequest.MaxTries">
            <summary>The maximum number of times to try the request. This value includes the initial attempt.</summary>
        </member>
        <member name="P:NuGet.Protocol.HttpRetryHandlerRequest.RequestTimeout">
            <summary>How long to wait on the request to come back with a response.</summary>
        </member>
        <member name="P:NuGet.Protocol.HttpRetryHandlerRequest.RetryDelay">
            <summary>How long to wait before trying again after a failed request.</summary>
            <summary>This API is intended only for testing purposes and should not be used in product code.</summary>
        </member>
        <member name="P:NuGet.Protocol.HttpRetryHandlerRequest.DownloadTimeout">
            <summary>The timeout to apply to <see cref="T:NuGet.Protocol.DownloadTimeoutStream"/> instances.</summary>
        </member>
        <member name="P:NuGet.Protocol.HttpRetryHandlerRequest.AddHeaders">
            <summary>
            Additional headers to add to the request.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.HttpRetryHandlerRequest.IsRetry">
            <summary>Boolean representing whether the first attempt of this request is already a retry.</summary>
        </member>
        <member name="P:NuGet.Protocol.HttpRetryHandlerRequest.IsLastAttempt">
            <summary>Boolean representing whether this retry request is the last for the URL.</summary>
        </member>
        <member name="P:NuGet.Protocol.HttpSource.RetryHandler">
            <summary>The retry handler to use for all HTTP requests.</summary>
            <summary>This API is intended only for testing purposes and should not be used in product code.</summary>
        </member>
        <member name="M:NuGet.Protocol.HttpSource.GetAsync``1(NuGet.Protocol.HttpSourceCachedRequest,System.Func{NuGet.Protocol.HttpSourceResult,System.Threading.Tasks.Task{``0}},NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Caching Get request.
            </summary>
        </member>
        <member name="T:NuGet.Protocol.HttpSourceCachedRequest">
            <summary>
            A cached HTTP request handled by <see cref="T:NuGet.Protocol.HttpSource"/>.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.HttpSourceCachedRequest.Uri">
            <summary>
            The URI to request with <code>GET</code>.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.HttpSourceCachedRequest.CacheKey">
            <summary>
            The cache key to use when fetching and storing the response from the HTTP cache. This
            cache key is scoped to the NuGet source. That is to say that each NuGet source has its
            own independent HTTP cache.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.HttpSourceCachedRequest.CacheContext">
            <summary>
            The cache context.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.HttpSourceCachedRequest.AcceptHeaderValues">
            <summary>
            The header values to apply when building the <see cref="T:System.Net.Http.HttpRequestMessage"/>.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.HttpSourceCachedRequest.IgnoreNotFounds">
            <summary>
            When processing the <see cref="T:System.Net.Http.HttpResponseMessage"/>, this flag allows
            <code>404 Not Found</code> to be interpreted as a null response. This value defaults
            to <code>false</code>.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.HttpSourceCachedRequest.MaxTries">
            <summary>The maximum number of times to try the request. This value includes the initial attempt.</summary>
        </member>
        <member name="P:NuGet.Protocol.HttpSourceCachedRequest.EnsureValidContents">
            <summary>
            A method used to validate the response stream. This method should not
            dispose the stream and should throw an exception when the content is invalid.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.HttpSourceCachedRequest.RequestTimeout">
            <summary>
            The timeout to use when fetching the <see cref="T:System.Net.Http.HttpResponseMessage"/>. Since
            <see cref="T:NuGet.Protocol.HttpSource"/> only uses <see cref="F:System.Net.Http.HttpCompletionOption.ResponseHeadersRead"/>,
            this means that we wait this amount of time for only the HTTP headers to be returned.
            Downloading the response body is not included in this timeout.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.HttpSourceCachedRequest.DownloadTimeout">
            <summary>The timeout to apply to <see cref="T:NuGet.Protocol.DownloadTimeoutStream"/> instances.</summary>
        </member>
        <member name="P:NuGet.Protocol.HttpSourceCachedRequest.IsRetry">
            <summary>Boolean representing whether the first attempt of this request is already a retry.</summary>
        </member>
        <member name="P:NuGet.Protocol.HttpSourceCachedRequest.IsLastAttempt">
            <summary>Boolean representing whether this retry request is the last for the URL.</summary>
        </member>
        <member name="T:NuGet.Protocol.HttpSourceCredentials">
            <summary>
            A mutable CredentialCache wrapper. This allows the underlying ICredentials to
            be changed to work around HttpClientHandler not allowing Credentials to change.
            This class intentionally inherits from CredentialCache to support authentication on redirects.
            According to System.Net implementation any other ICredentials implementation is dropped for security reasons.
            </summary>
        </member>
        <member name="F:NuGet.Protocol.HttpSourceCredentials._credentials">
            <summary>
            Credentials can be changed by other threads, for this reason volatile
            is added below so that the value is not cached anywhere.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.HttpSourceCredentials.Credentials">
            <summary>
            The latest credentials to be used.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.HttpSourceCredentials.Version">
            <summary>
            The latest version ID of the <see cref="P:NuGet.Protocol.HttpSourceCredentials.Credentials"/>.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.HttpSourceCredentials.#ctor(System.Net.ICredentials)">
            <summary>
            Initializes a new instance of the <see cref="T:NuGet.Protocol.HttpSourceCredentials"/> class
            </summary>
            <param name="credentials">
            Optional initial credentials. May be null.
            </param>
        </member>
        <member name="M:NuGet.Protocol.HttpSourceCredentials.System#Net#ICredentials#GetCredential(System.Uri,System.String)">
            <summary>
            Used by the HttpClientHandler to retrieve the current credentials.
            </summary>
        </member>
        <member name="T:NuGet.Protocol.HttpSourceRequest">
            <summary>
            A non-cached HTTP request handled by <see cref="T:NuGet.Protocol.HttpSource"/>.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.HttpSourceRequest.RequestFactory">
            <summary>
            A factory that can be called repeatedly to build the HTTP request message.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.HttpSourceRequest.IgnoreNotFounds">
            <summary>
            When processing the <see cref="T:System.Net.Http.HttpResponseMessage"/>, this flag allows
            <code>404 Not Found</code> to be interpreted as a null response. This value defaults
            to <code>false</code>.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.HttpSourceRequest.RequestTimeout">
            <summary>
            The timeout to use when fetching the <see cref="T:System.Net.Http.HttpResponseMessage"/>. Since
            <see cref="T:NuGet.Protocol.HttpSource"/> only uses <see cref="F:System.Net.Http.HttpCompletionOption.ResponseHeadersRead"/>,
            this means that we wait this amount of time for only the HTTP headers to be returned.
            Downloading the response body is not included in this timeout.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.HttpSourceRequest.MaxTries">
            <summary>The maximum number of times to try the request. This value includes the initial attempt.</summary>
        </member>
        <member name="P:NuGet.Protocol.HttpSourceRequest.DownloadTimeout">
            <summary>The timeout to apply to <see cref="T:NuGet.Protocol.DownloadTimeoutStream"/> instances.</summary>
        </member>
        <member name="P:NuGet.Protocol.HttpSourceRequest.IsRetry">
            <summary>Boolean representing whether the first attempt of this request is already a retry.</summary>
        </member>
        <member name="P:NuGet.Protocol.HttpSourceRequest.IsLastAttempt">
            <summary>Boolean representing whether this retry request is the last for the URL.</summary>
        </member>
        <member name="T:NuGet.Protocol.HttpSourceResource">
            <summary>
            Holds a shared <see cref="P:NuGet.Protocol.HttpSourceResource.HttpSource"/>. 
            This is expected to be shared across the app and should not be disposed of.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.HttpSourceResourceProvider.Throttle">
            <summary>
            The throttle to apply to all <see cref="T:NuGet.Protocol.HttpSource"/> HTTP requests.
            </summary>
        </member>
        <member name="T:NuGet.Protocol.IThrottle">
            <summary>
            An interface used for throttling operations. For example, suppose the application needs to
            limit the concurrency of HTTP operations. Before executing each HTTP operation, the
            <see cref="M:NuGet.Protocol.IThrottle.WaitAsync"/> would be executed. After the HTTP operation has been completed, the
            application should call <see cref="M:NuGet.Protocol.IThrottle.Release"/>. The implementation of <see cref="M:NuGet.Protocol.IThrottle.WaitAsync"/>
            should only allow the application to continue if there is an appropriate number of concurrent
            callers. The primary implementation of this interface simply wraps a <see cref="T:System.Threading.SemaphoreSlim"/>.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.IThrottle.WaitAsync">
            <summary>
            Waits until an appropriate level of concurrency has been reached before allowing the
            caller to continue.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.IThrottle.Release">
            <summary>
            Signals that the throttled operation has been completed and other threads can being
            their own throttled operation.
            </summary>
        </member>
        <member name="T:NuGet.Protocol.NullThrottle">
            <summary>
            An throttle implementation that allows any level of concurrency. That is, the
            <see cref="M:NuGet.Protocol.NullThrottle.WaitAsync"/> and <see cref="M:NuGet.Protocol.NullThrottle.Release"/> methods do nothing.
            </summary>
        </member>
        <member name="T:NuGet.Protocol.ProxyAuthenticationHandler">
            <summary>
            A message handler responsible for retrying request for authenticated proxies
            with missing credentials.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.SemaphoreSlimThrottle.CurrentCount">
            <summary>
            The number of remaining threads that can enter the semaphore.
            </summary>
        </member>
        <member name="F:NuGet.Protocol.StsAuthenticationHandler.STSEndPointHeader">
            <summary>
            Response header that specifies the WSTrust13 Windows Transport endpoint.
            </summary>
        </member>
        <member name="F:NuGet.Protocol.StsAuthenticationHandler.STSRealmHeader">
            <summary>
            Response header that specifies the realm to authenticate for. In most cases this would be the gallery we are going up against.
            </summary>
        </member>
        <member name="F:NuGet.Protocol.StsAuthenticationHandler.STSTokenHeader">
            <summary>
            Request header that contains the SAML token.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.StsAuthenticationHandler.PrepareSTSRequest(System.Net.Http.HttpRequestMessage)">
            <summary>
            Adds the SAML token as a header to the request if it is already cached for this source.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.StsAuthenticationHandler.TryRetrieveSTSToken(System.Net.Http.HttpResponseMessage)">
            <summary>
            Attempts to retrieve a SAML token if the response indicates that server requires STS-based auth.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.DependencyInfoResourceV2Feed.CreateDependencyInfo(NuGet.Protocol.V2FeedPackageInfo,NuGet.Frameworks.NuGetFramework)">
            <summary>
            Convert a V2 feed package into a V3 PackageDependencyInfo
            </summary>
        </member>
        <member name="T:NuGet.Protocol.LegacyFeedCapabilityResourceV2Feed">
            <summary>
            A resource for detecting a V2 feed's capabilities based on the metadata document.
            </summary>
        </member>
        <member name="T:NuGet.Protocol.LegacyFeedCapabilityResourceV2Feed.DataServiceMetadataExtractor">
            <summary>
            This implementation is copied from NuGet 2.x.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.ODataServiceDocumentResourceV2Provider.MaxCacheDuration">
            <summary>
            Maximum amount of time to store index.json
            </summary>
        </member>
        <member name="T:NuGet.Protocol.V2FeedPackageInfo">
            <summary>
            Represents a V2 package entry from the OData feed. This object primarily just holds the strings parsed from XML, all parsing 
            and converting should be done after based on the scenario.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.V2FeedPackageInfo.DownloadCountAsInt">
            <summary>
            Parse DownloadCount into an integer
            </summary>
        </member>
        <member name="P:NuGet.Protocol.V2FeedPackageInfo.IsListed">
            <summary>
            Checks the published date
            </summary>
        </member>
        <member name="P:NuGet.Protocol.V2FeedPackageInfo.DependencySets">
            <summary>
            Parses Dependencies into actual groups
            </summary>
        </member>
        <member name="T:NuGet.Protocol.V2FeedPage">
            <summary>
            A page of items from a V2 feed as well as a link to get the next page.
            </summary>
        </member>
        <member name="T:NuGet.Protocol.V2FeedParser">
            <summary>
            A light weight XML parser for NuGet V2 Feeds
            </summary>
        </member>
        <member name="M:NuGet.Protocol.V2FeedParser.#ctor(NuGet.Protocol.HttpSource,System.String)">
            <summary>
            Creates a V2 parser
            </summary>
            <param name="httpSource">HttpSource and message handler containing auth/proxy support</param>
            <param name="baseAddress">base address for all services from this OData service</param>
        </member>
        <member name="M:NuGet.Protocol.V2FeedParser.#ctor(NuGet.Protocol.HttpSource,System.String,System.String)">
            <summary>
            Creates a V2 parser
            </summary>
            <param name="httpSource">HttpSource and message handler containing auth/proxy support</param>
            <param name="baseAddress">base address for all services from this OData service</param>
            <param name="source">PackageSource useful for reporting meaningful errors that relate back to the configuration</param>
        </member>
        <member name="M:NuGet.Protocol.V2FeedParser.GetPackage(NuGet.Packaging.Core.PackageIdentity,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Get an exact package
            </summary>
        </member>
        <member name="M:NuGet.Protocol.V2FeedParser.FindPackagesByIdAsync(System.String,System.Boolean,System.Boolean,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Retrieves all packages with the given Id from a V2 feed.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.V2FeedParser.FindPackagesByIdAsync(System.String,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Retrieves all packages with the given Id from a V2 feed.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.V2FeedParser.ParsePage(System.Xml.Linq.XDocument,System.String,NuGet.Protocol.MetadataReferenceCache)">
            <summary>
            Finds all entries on the page and parses them
            </summary>
        </member>
        <member name="M:NuGet.Protocol.V2FeedParser.ParsePackage(System.String,System.Xml.Linq.XElement,NuGet.Protocol.MetadataReferenceCache)">
            <summary>
            Parse an entry into a V2FeedPackageInfo
            </summary>
        </member>
        <member name="M:NuGet.Protocol.V2FeedParser.GetString(System.Xml.Linq.XElement,System.Xml.Linq.XName)">
            <summary>
            Retrieve an XML <see cref="T:System.String"/> value safely
            </summary>
        </member>
        <member name="M:NuGet.Protocol.V2FeedParser.GetDate(System.Xml.Linq.XElement,System.Xml.Linq.XName)">
            <summary>
            Retrieve an XML <see cref="T:System.DateTimeOffset"/> value safely
            </summary>
        </member>
        <member name="T:NuGet.Protocol.V2FeedQueryBuilder">
            <summary>
            Build the path part of a V2 feed URL. These values are appended to the V2 base URL.
            </summary>
        </member>
        <member name="T:NuGet.Protocol.LocalPackageArchiveDownloader">
            <summary>
            A package downloader for local archive packages.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.LocalPackageArchiveDownloader.ContentReader">
            <summary>
            Gets an asynchronous package content reader.
            </summary>
            <exception cref="T:System.ObjectDisposedException">Thrown if this object is disposed.</exception>
        </member>
        <member name="P:NuGet.Protocol.LocalPackageArchiveDownloader.CoreReader">
            <summary>
            Gets an asynchronous package core reader.
            </summary>
            <exception cref="T:System.ObjectDisposedException">Thrown if this object is disposed.</exception>
        </member>
        <member name="M:NuGet.Protocol.LocalPackageArchiveDownloader.#ctor(System.String,System.String,NuGet.Packaging.Core.PackageIdentity,NuGet.Common.ILogger)">
            <summary>
            Initializes a new <see cref="T:NuGet.Protocol.LocalPackageArchiveDownloader" /> class.
            </summary>
            <param name="source">A package source.</param>
            <param name="packageFilePath">A source package archive file path.</param>
            <param name="packageIdentity">A package identity.</param>
            <param name="logger">A logger.</param>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="packageFilePath" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="packageIdentity" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" />
            is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.LocalPackageArchiveDownloader.Dispose">
            <summary>
            Disposes of this instance.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.LocalPackageArchiveDownloader.CopyNupkgFileToAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously copies a .nupkg to a target file path.
            </summary>
            <param name="destinationFilePath">The destination file path.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns a <see cref="T:System.Boolean" />
            indicating whether or not the copy was successful.</returns>
            <exception cref="T:System.ObjectDisposedException">Thrown if this object is disposed.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="destinationFilePath" />
            is either <see langword="null" /> or empty.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.LocalPackageArchiveDownloader.GetPackageHashAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets a package hash.
            </summary>
            <param name="hashAlgorithm">The hash algorithm.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns a <see cref="T:System.String" />
            representing the package hash.</returns>
            <exception cref="T:System.ObjectDisposedException">Thrown if this object is disposed.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="hashAlgorithm" />
            is either <see langword="null" /> or empty.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.LocalPackageArchiveDownloader.SetExceptionHandler(System.Func{System.Exception,System.Threading.Tasks.Task{System.Boolean}})">
            <summary>
            Sets an exception handler for package downloads.
            </summary>
            <remarks>The exception handler returns a task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns a <see cref="T:System.Boolean" />
            indicating whether or not the exception was handled.  To handle an exception and stop its
            propagation, the task should return <see langword="true" />.  Otherwise, the exception will be rethrown.</remarks>
            <param name="handleExceptionAsync">An exception handler.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="handleExceptionAsync" />
            is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.LocalPackageArchiveDownloader.SetThrottle(System.Threading.SemaphoreSlim)">
            <summary>
            Sets a throttle for package downloads.
            </summary>
            <param name="throttle">A throttle.  Can be <see langword="null" />.</param>
        </member>
        <member name="T:NuGet.Protocol.FindLocalPackagesResourcePackagesConfig">
            <summary>
            Packages.config packages folder reader
            </summary>
        </member>
        <member name="T:NuGet.Protocol.FindLocalPackagesResourcePackagesConfigProvider">
            <summary>
            Reads packages.config packages folders. The expected format is root/id.version/id.version.nupkg
            This resource cannot handle packages folders in the format root/id (exclude version)
            </summary>
        </member>
        <member name="T:NuGet.Protocol.FindLocalPackagesResourceUnzipped">
            <summary>
            Unzipped package repository reader used for project templates.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.FindLocalPackagesResourceUnzipped.GetIndex(System.Lazy{System.Collections.Generic.IReadOnlyList{NuGet.Protocol.LocalPackageInfo}})">
            <summary>
            Id + Version -> Package
            </summary>
        </member>
        <member name="M:NuGet.Protocol.FindLocalPackagesResourceUnzipped.GetPathIndex(System.Lazy{System.Collections.Generic.IReadOnlyList{NuGet.Protocol.LocalPackageInfo}})">
            <summary>
            Uri -> Package
            </summary>
        </member>
        <member name="T:NuGet.Protocol.FindLocalPackagesResourceV3">
            <summary>
            Retrieve packages from a local folder or UNC share that uses the V3 folder structure.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.LocalDependencyInfoResource.ResolvePackage(NuGet.Packaging.Core.PackageIdentity,NuGet.Frameworks.NuGetFramework,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Retrieve dependency info for a single package.
            </summary>
            <param name="package">package id and version</param>
            <param name="projectFramework">project target framework. This is used for finding the dependency group</param>
            <param name="token">cancellation token</param>
        </member>
        <member name="M:NuGet.Protocol.LocalDependencyInfoResource.ResolvePackages(System.String,NuGet.Frameworks.NuGetFramework,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Retrieve dependency info for a single package.
            </summary>
            <param name="packageId">package id</param>
            <param name="projectFramework">project target framework. This is used for finding the dependency group</param>
            <param name="token">cancellation token</param>
        </member>
        <member name="M:NuGet.Protocol.LocalDependencyInfoResource.CreateDependencyInfo(NuGet.Protocol.LocalPackageInfo,NuGet.Frameworks.NuGetFramework)">
            <summary>
            Convert a package into a PackageDependencyInfo
            </summary>
        </member>
        <member name="M:NuGet.Protocol.LocalPackageInfo.#ctor(NuGet.Packaging.Core.PackageIdentity,System.String,System.DateTime,System.Lazy{NuGet.Packaging.NuspecReader},System.Boolean)">
            <summary>
            Local nuget package.
            </summary>
            <param name="identity">Package id and version.</param>
            <param name="path">Path to the nupkg.</param>
            <param name="lastWriteTimeUtc">Last nupkg write time for publish date.</param>
            <param name="nuspec">Nuspec XML.</param>
            <param name="useFolder">Read content from folder next to nupkg.</param>
        </member>
        <member name="P:NuGet.Protocol.LocalPackageInfo.Identity">
            <summary>
            Package id and version.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.LocalPackageInfo.Path">
            <summary>
            Nupkg or folder path.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.LocalPackageInfo.LastWriteTimeUtc">
            <summary>
            Last file write time. This is used for the publish date.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.LocalPackageInfo.GetReader">
            <summary>
            Package reader.
            </summary>
            <remarks>This creates a new instance each time. Callers need to dispose of it.</remarks>
        </member>
        <member name="P:NuGet.Protocol.LocalPackageInfo.Nuspec">
            <summary>
            Nuspec reader.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.LocalPackageSearchResource.ContainsAnyTerm(System.String[],NuGet.Protocol.LocalPackageInfo)">
            <summary>
            Search Id, Tags, and Description to match the legacy local search behavior.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.LocalPackageSearchResource.CollapseToHighestVersion(System.Collections.Generic.IEnumerable{NuGet.Protocol.LocalPackageInfo})">
            <summary>
            Returns a distinct set of elements using the comparer specified. This implementation will pick the last occurrence
            of each element instead of picking the first. This method assumes that similar items occur in order.
            </summary>        
        </member>
        <member name="T:NuGet.Protocol.LocalV2FindPackageByIdResource">
            <summary>
            A resource capable of fetching packages, package versions and package dependency information.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.LocalV2FindPackageByIdResource.#ctor(NuGet.Configuration.PackageSource)">
            <summary>
            Initializes a new <see cref="T:NuGet.Protocol.LocalV2FindPackageByIdResource" /> class.
            </summary>
            <param name="packageSource">A package source.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="packageSource" />
            is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.LocalV2FindPackageByIdResource.GetAllVersionsAsync(System.String,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets all package versions for a package ID.
            </summary>
            <param name="id">A package ID.</param>
            <param name="cacheContext">A source cache context.</param>
            <param name="logger">A logger.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:System.Collections.Generic.IEnumerable`1" />.</returns>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="id" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="cacheContext" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.LocalV2FindPackageByIdResource.CopyNupkgToStreamAsync(System.String,NuGet.Versioning.NuGetVersion,System.IO.Stream,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Asynchronously copies a .nupkg to a stream.
            </summary>
            <param name="id">A package ID.</param>
            <param name="version">A package version.</param>
            <param name="destination">A destination stream.</param>
            <param name="cacheContext">A source cache context.</param>
            <param name="logger">A logger.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:System.Boolean" /> indicating whether or not the .nupkg file was copied.</returns>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="id" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="version" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="destination" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="cacheContext" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.LocalV2FindPackageByIdResource.GetDependencyInfoAsync(System.String,NuGet.Versioning.NuGetVersion,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets dependency information for a specific package.
            </summary>
            <param name="id">A package id.</param>
            <param name="version">A package version.</param>
            <param name="cacheContext">A source cache context.</param>
            <param name="logger">A logger.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:System.Collections.Generic.IEnumerable`1" />.</returns>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="id" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="version" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="cacheContext" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.LocalV2FindPackageByIdResource.GetPackageDownloaderAsync(NuGet.Packaging.Core.PackageIdentity,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets a package downloader for a package identity.
            </summary>
            <param name="packageIdentity">A package identity.</param>
            <param name="cacheContext">A source cache context.</param>
            <param name="logger">A logger.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an <see cref="T:NuGet.Packaging.IPackageDownloader" />.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="packageIdentity" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="cacheContext" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.LocalV2FindPackageByIdResource.DoesPackageExistAsync(System.String,NuGet.Versioning.NuGetVersion,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Asynchronously check if exact package (id/version) exists at this source.
            </summary>
            <param name="id">A package id.</param>
            <param name="version">A package version.</param>
            <param name="cacheContext">A source cache context.</param>
            <param name="logger">A logger.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:System.Collections.Generic.IEnumerable`1" />.</returns>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="id" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="version" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="cacheContext" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="T:NuGet.Protocol.LocalV2FindPackageByIdResourceProvider">
            <summary>
            A v2-style package repository that has nupkgs at the root.
            </summary>
        </member>
        <member name="T:NuGet.Protocol.LocalV3FindPackageByIdResource">
            <summary>
            A resource capable of fetching packages, package versions and package dependency information.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.LocalV3FindPackageByIdResource.PackageFileCache">
            <summary>
            Nuspec files read from disk.
            This is exposed to allow sharing the cache with other components
            that are reading the same files.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.LocalV3FindPackageByIdResource.#ctor(NuGet.Configuration.PackageSource)">
            <summary>
            Initializes a new <see cref="T:NuGet.Protocol.LocalV3FindPackageByIdResource" /> class.
            </summary>
            <param name="packageSource">A package source.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="packageSource" />
            is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.LocalV3FindPackageByIdResource.GetAllVersionsAsync(System.String,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets all package versions for a package ID.
            </summary>
            <param name="id">A package ID.</param>
            <param name="cacheContext">A source cache context.</param>
            <param name="logger">A logger.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:System.Collections.Generic.IEnumerable`1" />.</returns>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="id" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="cacheContext" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.LocalV3FindPackageByIdResource.CopyNupkgToStreamAsync(System.String,NuGet.Versioning.NuGetVersion,System.IO.Stream,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Asynchronously copies a .nupkg to a stream.
            </summary>
            <param name="id">A package ID.</param>
            <param name="version">A package version.</param>
            <param name="destination">A destination stream.</param>
            <param name="cacheContext">A source cache context.</param>
            <param name="logger">A logger.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:System.Boolean" /> indicating whether or not the .nupkg file was copied.</returns>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="id" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="version" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="destination" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="cacheContext" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.LocalV3FindPackageByIdResource.GetDependencyInfoAsync(System.String,NuGet.Versioning.NuGetVersion,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets dependency information for a specific package.
            </summary>
            <param name="id">A package id.</param>
            <param name="version">A package version.</param>
            <param name="cacheContext">A source cache context.</param>
            <param name="logger">A logger.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:System.Collections.Generic.IEnumerable`1" />.</returns>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="id" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="version" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="cacheContext" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.LocalV3FindPackageByIdResource.GetPackageDownloaderAsync(NuGet.Packaging.Core.PackageIdentity,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets a package downloader for a package identity.
            </summary>
            <param name="packageIdentity">A package identity.</param>
            <param name="cacheContext">A source cache context.</param>
            <param name="logger">A logger.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an <see cref="T:NuGet.Packaging.IPackageDownloader" />.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="packageIdentity" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="cacheContext" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.LocalV3FindPackageByIdResource.DoesPackageExistAsync(System.String,NuGet.Versioning.NuGetVersion,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Asynchronously check if exact package (id/version) exists at this source.
            </summary>
            <param name="id">A package id.</param>
            <param name="version">A package version.</param>
            <param name="cacheContext">A source cache context.</param>
            <param name="logger">A logger.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:System.Collections.Generic.IEnumerable`1" />.</returns>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="id" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="version" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="cacheContext" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="T:NuGet.Protocol.LocalV3FindPackageByIdResourceProvider">
            <summary>
            A v3-style package repository that has expanded packages.
            </summary>
        </member>
        <member name="T:NuGet.Protocol.Model.GetVulnerabilityInfoResult">
            <summary>Represents the result of <see cref="M:NuGet.Protocol.IVulnerabilityInfoResource.GetVulnerabilityInfoAsync(NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)"/></summary>
            <remarks>Vulnerability data from a package source typically is spread across multiple files. Therefore, it's
            possible for some data to be retrieved successfully, while other data failed. This type allows partial data
            to be returned along with error information.</remarks>
        </member>
        <member name="P:NuGet.Protocol.Model.GetVulnerabilityInfoResult.KnownVulnerabilities">
            <summary>The known package vulnerabilities.</summary>
            <remarks>The outer IReadOnlyList represents the number of files the package source split the vulnerability data into.
            The IReadOnlyDictionary's key is the package ID.
            The inner IReadOnlyList is all of the vulnerabilities known for the package ID.
            <para>May be null if no vulnerability data was parsed successfully.</para></remarks>
        </member>
        <member name="P:NuGet.Protocol.Model.GetVulnerabilityInfoResult.Exceptions">
            <summary>Any exceptions while reading vulnerability data.</summary>
            <remarks>May be null if no exceptions occurred.</remarks>
        </member>
        <member name="M:NuGet.Protocol.Model.GetVulnerabilityInfoResult.#ctor(System.Collections.Generic.IReadOnlyList{System.Collections.Generic.IReadOnlyDictionary{System.String,System.Collections.Generic.IReadOnlyList{NuGet.Protocol.Model.PackageVulnerabilityInfo}}},System.AggregateException)">
            <summary>Creates an instance of the class.</summary>
            <param name="knownVulnerabilities">The value for <see cref="P:NuGet.Protocol.Model.GetVulnerabilityInfoResult.KnownVulnerabilities"/></param>
            <param name="exceptions">The value for <see cref="P:NuGet.Protocol.Model.GetVulnerabilityInfoResult.Exceptions"/></param>
            <exception cref="T:System.InvalidOperationException">When both knownVulnerabilities and exceptions are null.</exception>
        </member>
        <member name="T:NuGet.Protocol.Model.PackageVulnerabilityInfo">
            <summary>A class that represents one known vulnerability of a package.</summary>
        </member>
        <member name="P:NuGet.Protocol.Model.PackageVulnerabilityInfo.Url">
            <summary>A URL to a CVE or another web page where more information about the vulnerability can be found.</summary>
        </member>
        <member name="P:NuGet.Protocol.Model.PackageVulnerabilityInfo.Severity">
            <summary>The severity of the vulnerability</summary>
        </member>
        <member name="P:NuGet.Protocol.Model.PackageVulnerabilityInfo.Versions">
            <summary>Which package versions are affected by this vulnerability.</summary>
        </member>
        <member name="M:NuGet.Protocol.Model.PackageVulnerabilityInfo.#ctor(System.Uri,NuGet.Protocol.PackageVulnerabilitySeverity,NuGet.Versioning.VersionRange)">
            <summary>Creates an instance of the class</summary>
            <param name="url">The value for <see cref="P:NuGet.Protocol.Model.PackageVulnerabilityInfo.Url"/></param>
            <param name="severity">The value for <see cref="P:NuGet.Protocol.Model.PackageVulnerabilityInfo.Severity"/></param>
            <param name="versions">The value for <see cref="P:NuGet.Protocol.Model.PackageVulnerabilityInfo.Versions"/></param>
            <exception cref="T:System.ArgumentNullException"></exception>
        </member>
        <member name="M:NuGet.Protocol.Model.PackageVulnerabilityInfo.Equals(NuGet.Protocol.Model.PackageVulnerabilityInfo)">
            <inheritdoc cref="M:System.IEquatable`1.Equals(`0)"/>
        </member>
        <member name="M:NuGet.Protocol.Model.PackageVulnerabilityInfo.Equals(System.Object)">
            <inheritdoc cref="M:System.Object.Equals(System.Object)"/>
        </member>
        <member name="M:NuGet.Protocol.Model.PackageVulnerabilityInfo.GetHashCode">
            <inheritdoc cref="M:System.Object.GetHashCode"/>
        </member>
        <member name="T:NuGet.Protocol.Model.RegistrationIndex">
            <summary>
            Source: https://docs.microsoft.com/en-us/nuget/api/registration-base-url-resource#registration-index
            </summary>
        </member>
        <member name="T:NuGet.Protocol.Model.RegistrationLeafItem">
            <summary>
            Source: https://docs.microsoft.com/en-us/nuget/api/registration-base-url-resource#registration-leaf-object-in-a-page
            </summary>
        </member>
        <member name="T:NuGet.Protocol.Model.RegistrationPage">
            <summary>
            This model is used for both the registration page item (found in a registration index) and for a registration
            page fetched on its own.
            Source: https://docs.microsoft.com/en-us/nuget/api/registration-base-url-resource#registration-page
            Source: https://docs.microsoft.com/en-us/nuget/api/registration-base-url-resource#registration-page-object
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Model.RegistrationPage.Items">
            <summary>
            This property can be null when this model is used as an item in <see cref="P:NuGet.Protocol.Model.RegistrationIndex.Items"/> when
            the server decided not to inline the leaf items. In this case, the <see cref="P:NuGet.Protocol.Model.RegistrationPage.Url"/> property can be used 
            fetch another <see cref="T:NuGet.Protocol.Model.RegistrationPage"/> instance with the <see cref="P:NuGet.Protocol.Model.RegistrationPage.Items"/> property filled in.
            </summary>
        </member>
        <member name="T:NuGet.Protocol.Model.V3VulnerabilityIndexEntry">
            <summary>Represents one page of vulnerability data.</summary>
            <remarks>More details at <a href="https://learn.microsoft.com/nuget/api/vulnerability-info-resource">https://learn.microsoft.com/nuget/api/vulnerability-info-resource</a></remarks>
        </member>
        <member name="P:NuGet.Protocol.Model.V3VulnerabilityIndexEntry.Name">
            <summary>A short name </summary>
            <remarks>The name must be unique within the vulnerability index. See the server API docs for more information.</remarks>
        </member>
        <member name="P:NuGet.Protocol.Model.V3VulnerabilityIndexEntry.Url">
            <summary>The URL for the vulnerability data.</summary>
        </member>
        <member name="P:NuGet.Protocol.Model.V3VulnerabilityIndexEntry.Updated">
            <summary>A string that can be used to determine if a previously cached value is no longer up-to-date.</summary>
        </member>
        <member name="P:NuGet.Protocol.Model.V3VulnerabilityIndexEntry.Comment">
            <summary>Free text that the server administrator can add to the JSON object.</summary>
        </member>
        <member name="P:NuGet.Protocol.LocalPackageSearchMetadata.DownloadCount">
            <remarks>
            Local package sources never provide a download count.
            </remarks>
        </member>
        <member name="P:NuGet.Protocol.LocalPackageSearchMetadata.ReadmeUrl">
            <remarks>
            There is no readme url for local packages. Later releases may display the readme file in a VS window.
            </remarks>
        </member>
        <member name="P:NuGet.Protocol.LocalPackageSearchMetadata.ReportAbuseUrl">
            <remarks>
            There is no report abuse url for local packages.
            </remarks>
        </member>
        <member name="P:NuGet.Protocol.LocalPackageSearchMetadata.PackageReader">
            <summary>
            Gets a function that provides <c>PackageReaderBase</c>-like objects, for reading package content
            </summary>
            <remarks>
            This property depends from the reader contained in the <c>LocalPackageInfo</c> specified at object creation time
            </remarks>
        </member>
        <member name="M:NuGet.Protocol.LocalPackageSearchMetadata.GetVersionsAsync">
            <inheritdoc cref="M:NuGet.Protocol.Core.Types.IPackageSearchMetadata.GetVersionsAsync" />
        </member>
        <member name="M:NuGet.Protocol.LocalPackageSearchMetadata.Convert(System.String)">
            <summary>
            Convert a string to a URI safely. This will return null if there are errors.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.LocalPackageSearchMetadata.PrefixReserved">
            <remarks>
            The prefix reservation is not applicable to local packages
            </remarks>
        </member>
        <member name="M:NuGet.Protocol.LocalPackageSearchMetadata.GetDeprecationMetadataAsync">
            <inheritdoc cref="M:NuGet.Protocol.Core.Types.IPackageSearchMetadata.GetDeprecationMetadataAsync" />
        </member>
        <member name="P:NuGet.Protocol.LocalPackageSearchMetadata.Vulnerabilities">
            <inheritdoc cref="P:NuGet.Protocol.Core.Types.IPackageSearchMetadata.Vulnerabilities" />
        </member>
        <member name="M:NuGet.Protocol.LocalPackageSearchMetadata.GetIconUri">
            <summary>
            Points to an Icon, either Embedded Icon or IconUrl
            </summary>
        </member>
        <member name="M:NuGet.Protocol.PackageSearchMetadata.GetVersionsAsync">
            <inheritdoc cref="M:NuGet.Protocol.Core.Types.IPackageSearchMetadata.GetVersionsAsync" />
        </member>
        <member name="M:NuGet.Protocol.PackageSearchMetadata.GetDeprecationMetadataAsync">
            <inheritdoc cref="M:NuGet.Protocol.Core.Types.IPackageSearchMetadata.GetDeprecationMetadataAsync" />
        </member>
        <member name="P:NuGet.Protocol.PackageSearchMetadata.Vulnerabilities">
            <inheritdoc cref="P:NuGet.Protocol.Core.Types.IPackageSearchMetadata.Vulnerabilities" />
        </member>
        <member name="T:NuGet.Protocol.PackageSearchMetadataRegistration">
            <summary>
            Subclass of <see cref="T:NuGet.Protocol.PackageSearchMetadata"/> containing the information in the registration blobs that are not present in the V2 feed or search.
            Returned by <see cref="T:NuGet.Protocol.PackageMetadataResourceV3"/>.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.PackageSearchMetadataRegistration.CatalogUri">
            <summary>
            The <see cref="T:System.Uri"/> of this package in the catalog.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.PackageSearchMetadataV2Feed.GetVersionsAsync">
            <inheritdoc cref="M:NuGet.Protocol.Core.Types.IPackageSearchMetadata.GetVersionsAsync" />
        </member>
        <member name="M:NuGet.Protocol.PackageSearchMetadataV2Feed.GetDeprecationMetadataAsync">
            <inheritdoc cref="M:NuGet.Protocol.Core.Types.IPackageSearchMetadata.GetDeprecationMetadataAsync" />
        </member>
        <member name="P:NuGet.Protocol.PackageSearchMetadataV2Feed.Vulnerabilities">
            <inheritdoc cref="P:NuGet.Protocol.Core.Types.IPackageSearchMetadata.Vulnerabilities" />
        </member>
        <member name="T:NuGet.Protocol.ServiceIndexEntry">
            <summary>
            index.json entry for v3
            </summary>
        </member>
        <member name="P:NuGet.Protocol.ServiceIndexEntry.Uri">
            <summary>
            Service Uri
            </summary>
        </member>
        <member name="P:NuGet.Protocol.ServiceIndexEntry.Type">
            <summary>
            Service Type
            </summary>
        </member>
        <member name="P:NuGet.Protocol.ServiceIndexEntry.ClientVersion">
            <summary>
            Client version
            </summary>
        </member>
        <member name="T:NuGet.Protocol.LocalPackageFileCache">
            <summary>
            Allow .nuspec files on disk to be cached across v3 folder readers.
            Allow the list of files in a package to be cached across all projects.
            </summary>
            <remarks>It is expected that the caller has already verified the that folder and paths are valid.</remarks>
        </member>
        <member name="M:NuGet.Protocol.LocalPackageFileCache.GetOrAddNuspec(System.String,System.String)">
            <summary>
            Read a nuspec file from disk. The nuspec is expected to exist.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.LocalPackageFileCache.GetOrAddFiles(System.String)">
            <summary>
            Read a the package files from disk.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.LocalPackageFileCache.GetOrAddSha512(System.String)">
            <summary>
            Read the .metadata.json file from disk.
            </summary>
            <remarks>Throws if the file is not found or corrupted.</remarks>
        </member>
        <member name="M:NuGet.Protocol.LocalPackageFileCache.Sha512Exists(System.String)">
            <summary>
            True if the path exists on disk. This also uses
            the SHA512 cache for already read files.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.LocalPackageFileCache.UpdateLastAccessTime(System.String)">
            <summary>
            Update the last access time of the metadata package file. This also uses
            the metadata file cache for already accessed files.
            </summary>
            <param name="nupkgMetadataPath">metadata file path to update</param>
        </member>
        <member name="M:NuGet.Protocol.LocalPackageFileCache.GetOrAddRuntimeGraph(System.String)">
            <summary>
            Read runtime.json from a package.
            Returns null if runtime.json does not exist.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.LocalPackageFileCache.GetFiles(System.String)">
            <summary>
            Read files from a package folder.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.LocalPackageFileCache.IsAllowedLibraryFile(System.String)">
            <summary>
            True if the file should be added to the lock file library
            Fale if it is an OPC file or empty directory
            </summary>
        </member>
        <member name="M:NuGet.Protocol.LocalPackageFileCache.GetNuspec(System.String,System.String)">
            <summary>
            Search for a nuspec using the given path, or by the expanded folder path.
            The manifest path here is a shortcut to use the already constructed well
            known location, if this doesn't exist the folder reader will find the nuspec
            if it exists.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.LocalPackageFileCache.GetRuntimeGraph(System.String)">
            <summary>
            Return runtime.json from a package.
            </summary>
        </member>
        <member name="T:NuGet.Protocol.Plugins.AutomaticProgressReporter">
            <summary>
            An automatic progress reporter.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.AutomaticProgressReporter.Dispose">
            <summary>
            Disposes of this instance.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.AutomaticProgressReporter.Create(NuGet.Protocol.Plugins.IConnection,NuGet.Protocol.Plugins.Message,System.TimeSpan,System.Threading.CancellationToken)">
            <summary>
            Creates a new <see cref="T:NuGet.Protocol.Plugins.AutomaticProgressReporter" /> class.
            </summary>
            <remarks>This class does not take ownership of and dispose of <paramref name="connection" />.</remarks>
            <param name="connection">A connection.</param>
            <param name="request">A request.</param>
            <param name="interval">A progress interval.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="connection" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="request" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="interval" />
            is either less than <see cref="F:NuGet.Protocol.Plugins.ProtocolConstants.MinTimeout" /> or greater than
            <see cref="F:NuGet.Protocol.Plugins.ProtocolConstants.MaxTimeout" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.Connection">
            <summary>
            Represents a bidirectional channel between a NuGet client and a plugin.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.Connection.State">
            <summary>
            The connection state.
            </summary>
        </member>
        <member name="E:NuGet.Protocol.Plugins.Connection.Faulted">
            <summary>
            Occurs when an unrecoverable fault has been caught.
            </summary>
        </member>
        <member name="E:NuGet.Protocol.Plugins.Connection.MessageReceived">
            <summary>
            Occurs when a message has been received.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.Connection.MessageDispatcher">
            <summary>
            Gets the message dispatcher.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.Connection.Options">
            <summary>
            Gets the connection options
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.Connection.ProtocolVersion">
            <summary>
            Gets the negotiated protocol version, or <see langword="null" /> if not yet connected.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.Connection.#ctor(NuGet.Protocol.Plugins.IMessageDispatcher,NuGet.Protocol.Plugins.ISender,NuGet.Protocol.Plugins.IReceiver,NuGet.Protocol.Plugins.ConnectionOptions)">
            <summary>
            Instantiates a new instance of the <see cref="T:NuGet.Protocol.Plugins.Connection" /> class.
            </summary>
            <param name="dispatcher">A message dispatcher.</param>
            <param name="sender">A sender.</param>
            <param name="receiver">A receiver.</param>
            <param name="options">Connection options.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="dispatcher" /> is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="sender" /> is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="receiver" /> is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="options" /> is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.Connection.#ctor(NuGet.Protocol.Plugins.IMessageDispatcher,NuGet.Protocol.Plugins.ISender,NuGet.Protocol.Plugins.IReceiver,NuGet.Protocol.Plugins.ConnectionOptions,NuGet.Protocol.Plugins.IPluginLogger)">
            <summary>
            Instantiates a new instance of the <see cref="T:NuGet.Protocol.Plugins.Connection" /> class.
            </summary>
            <param name="dispatcher">A message dispatcher.</param>
            <param name="sender">A sender.</param>
            <param name="receiver">A receiver.</param>
            <param name="options">Connection options.</param>
            <param name="logger">A plugin logger.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="dispatcher" /> is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="sender" /> is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="receiver" /> is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="options" /> is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.Connection.Dispose">
            <summary>
            Disposes of this instance.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.Connection.Close">
            <summary>
            Closes the connection.
            </summary>
            <remarks>This does not call <see cref="M:System.IDisposable.Dispose" />.</remarks>
        </member>
        <member name="M:NuGet.Protocol.Plugins.Connection.ConnectAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously connects and handshakes with a remote target.
            </summary>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.</returns>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
            <exception cref="T:System.InvalidOperationException">Thrown if the method has been called already.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.Connection.SendAsync(NuGet.Protocol.Plugins.Message,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sends a message to the remote target.
            </summary>
            <param name="message">The message to be sent.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="message" /> is <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
            <exception cref="T:System.InvalidOperationException">Thrown if not connected.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.Connection.SendRequestAndReceiveResponseAsync``2(NuGet.Protocol.Plugins.MessageMethod,``0,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sends a message to the remote target and receives the target's response.
            </summary>
            <typeparam name="TOutbound">The outbound payload type.</typeparam>
            <typeparam name="TInbound">The inbound payload type.</typeparam>
            <param name="method">The outbound message method.</param>
            <param name="payload">The outbound message payload.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns a <typeparamref name="TInbound" />
            from the target.</returns>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
            <exception cref="T:System.InvalidOperationException">Thrown if not connected.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.ConnectionOptions">
            <summary>
            Plugin connection options.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.ConnectionOptions.HandshakeTimeout">
            <summary>
            Gets the plugin handshake timeout.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.ConnectionOptions.MinimumProtocolVersion">
            <summary>
            Gets the minimum plugin protocol version.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.ConnectionOptions.ProtocolVersion">
            <summary>
            Gets the plugin protocol version.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.ConnectionOptions.RequestTimeout">
            <summary>
            Gets the plugin request timeout.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.ConnectionOptions.#ctor(NuGet.Versioning.SemanticVersion,NuGet.Versioning.SemanticVersion,System.TimeSpan,System.TimeSpan)">
            <summary>
            Instantiates a new <see cref="T:NuGet.Protocol.Plugins.ConnectionOptions" /> class.
            </summary>
            <param name="protocolVersion">The plugin protocol version.</param>
            <param name="minimumProtocolVersion">The minimum plugin protocol version.</param>
            <param name="handshakeTimeout">The plugin handshake timeout.</param>
            <param name="requestTimeout">The plugin request timeout.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="protocolVersion" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="minimumProtocolVersion" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="protocolVersion" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="protocolVersion" />
            is less than <paramref name="minimumProtocolVersion" />.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="handshakeTimeout" />
            is either less than <see cref="F:NuGet.Protocol.Plugins.ProtocolConstants.MinTimeout" /> or greater than
            <see cref="F:NuGet.Protocol.Plugins.ProtocolConstants.MaxTimeout" />.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="requestTimeout" />
            is either less than <see cref="F:NuGet.Protocol.Plugins.ProtocolConstants.MinTimeout" /> or greater than
            <see cref="F:NuGet.Protocol.Plugins.ProtocolConstants.MaxTimeout" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.ConnectionOptions.SetRequestTimeout(System.TimeSpan)">
            <summary>
            Sets a new request timeout.
            </summary>
            <param name="requestTimeout">The new request timeout.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="requestTimeout" />
            is either less than <see cref="F:NuGet.Protocol.Plugins.ProtocolConstants.MinTimeout" /> or greater than
            <see cref="F:NuGet.Protocol.Plugins.ProtocolConstants.MaxTimeout" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.ConnectionOptions.CreateDefault(NuGet.Common.IEnvironmentVariableReader)">
            <summary>
            Instantiates a <see cref="T:NuGet.Protocol.Plugins.ConnectionOptions" /> class with default values.
            </summary>
            <param name="reader">An environment variable reader.</param>
            <returns>A <see cref="T:NuGet.Protocol.Plugins.ConnectionOptions" />.</returns>
        </member>
        <member name="T:NuGet.Protocol.Plugins.ConnectionState">
            <summary>
            Connection states.
            </summary>
            <remarks>Member order is significant.
            For example, any connection state before <see cref="F:NuGet.Protocol.Plugins.ConnectionState.Connecting" />
            implies no connection.</remarks>
        </member>
        <member name="T:NuGet.Protocol.Plugins.FaultedPluginEventArgs">
            <summary>
            Faulted plugin event arguments.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.FaultedPluginEventArgs.Exception">
            <summary>
            Gets the exception.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.FaultedPluginEventArgs.Plugin">
            <summary>
            Gets the plugin.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.FaultedPluginEventArgs.#ctor(NuGet.Protocol.Plugins.IPlugin,System.Exception)">
            <summary>
            Instantiates a new <see cref="T:NuGet.Protocol.Plugins.FaultedPluginEventArgs" /> class.
            </summary>
            <param name="plugin">A plugin.</param>
            <param name="exception">An exception.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="plugin" /> is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="exception" /> is <see langword="null" />.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.IConnection">
            <summary>
            Represents a bidirectional channel between a NuGet client and a plugin.
            </summary>
        </member>
        <member name="E:NuGet.Protocol.Plugins.IConnection.Faulted">
            <summary>
            Occurs when an unrecoverable fault has been caught.
            </summary>
        </member>
        <member name="E:NuGet.Protocol.Plugins.IConnection.MessageReceived">
            <summary>
            Occurs when a message has been received.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.IConnection.MessageDispatcher">
            <summary>
            Gets the message dispatcher.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.IConnection.Options">
            <summary>
            Gets the connection options
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.IConnection.ProtocolVersion">
            <summary>
            Gets the negotiated protocol version, or <see langword="null" /> if not yet connected.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.IConnection.Close">
            <summary>
            Closes the connection.
            </summary>
            <remarks>This does not call <see cref="M:System.IDisposable.Dispose" />.</remarks>
        </member>
        <member name="M:NuGet.Protocol.Plugins.IConnection.SendAsync(NuGet.Protocol.Plugins.Message,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sends a message to the remote target.
            </summary>
            <param name="message">The message to be sent.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="message" /> is <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
            <exception cref="T:System.InvalidOperationException">Thrown if not connected.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.IConnection.SendRequestAndReceiveResponseAsync``2(NuGet.Protocol.Plugins.MessageMethod,``0,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sends a message to the remote target and receives the target's response.
            </summary>
            <typeparam name="TOutbound">The outbound payload type.</typeparam>
            <typeparam name="TInbound">The inbound payload type.</typeparam>
            <param name="method">The outbound message method.</param>
            <param name="payload">The outbound message payload.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns a <typeparamref name="TInbound" />
            from the target.</returns>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
            <exception cref="T:System.InvalidOperationException">Thrown if not connected.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.IIdGenerator">
            <summary>
            A unique identifier generator.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.IIdGenerator.GenerateUniqueId">
            <summary>
            Generates a new unique identifier.
            </summary>
            <returns>A unique identifier.</returns>
        </member>
        <member name="T:NuGet.Protocol.Plugins.IMessageDispatcher">
            <summary>
            A message dispatcher that maintains state for outstanding requests
            and routes messages to configured request handlers.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.IMessageDispatcher.RequestHandlers">
            <summary>
            Gets the request handlers for use by the dispatcher.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.IMessageDispatcher.Close">
            <summary>
            Closes the dispatcher.
            </summary>
            <remarks>This does not call <see cref="M:System.IDisposable.Dispose" />.</remarks>
        </member>
        <member name="M:NuGet.Protocol.Plugins.IMessageDispatcher.CreateMessage(NuGet.Protocol.Plugins.MessageType,NuGet.Protocol.Plugins.MessageMethod)">
            <summary>
            Creates a message.
            </summary>
            <param name="type">The message type.</param>
            <param name="method">The message method.</param>
            <returns>A message.</returns>
        </member>
        <member name="M:NuGet.Protocol.Plugins.IMessageDispatcher.CreateMessage``1(NuGet.Protocol.Plugins.MessageType,NuGet.Protocol.Plugins.MessageMethod,``0)">
            <summary>
            Creates a message.
            </summary>
            <typeparam name="TPayload">The message payload.</typeparam>
            <param name="type">The message type.</param>
            <param name="method">The message method.</param>
            <param name="payload">The message payload.</param>
            <returns>A message.</returns>
        </member>
        <member name="M:NuGet.Protocol.Plugins.IMessageDispatcher.DispatchCancelAsync(NuGet.Protocol.Plugins.Message,System.Threading.CancellationToken)">
            <summary>
            Asynchronously dispatches a cancellation request for the specified request.
            </summary>
            <param name="request">The request.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.</returns>
        </member>
        <member name="M:NuGet.Protocol.Plugins.IMessageDispatcher.DispatchFaultAsync(NuGet.Protocol.Plugins.Message,NuGet.Protocol.Plugins.Fault,System.Threading.CancellationToken)">
            <summary>
            Asynchronously dispatches a fault notification for the specified request.
            </summary>
            <param name="request">The cancel request.</param>
            <param name="fault">The fault payload.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.</returns>
        </member>
        <member name="M:NuGet.Protocol.Plugins.IMessageDispatcher.DispatchProgressAsync(NuGet.Protocol.Plugins.Message,NuGet.Protocol.Plugins.Progress,System.Threading.CancellationToken)">
            <summary>
            Asynchronously dispatches a progress notification for the specified request.
            </summary>
            <param name="request">The request.</param>
            <param name="progress">The progress payload.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.</returns>
        </member>
        <member name="M:NuGet.Protocol.Plugins.IMessageDispatcher.DispatchRequestAsync``2(NuGet.Protocol.Plugins.MessageMethod,``0,System.Threading.CancellationToken)">
            <summary>
            Asynchronously dispatches a request.
            </summary>
            <typeparam name="TOutbound">The request payload type.</typeparam>
            <typeparam name="TInbound">The expected response payload type.</typeparam>
            <param name="method">The request method.</param>
            <param name="payload">The request payload.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns a <typeparamref name="TInbound" />
            from the target.</returns>
        </member>
        <member name="M:NuGet.Protocol.Plugins.IMessageDispatcher.DispatchResponseAsync``1(NuGet.Protocol.Plugins.Message,``0,System.Threading.CancellationToken)">
            <summary>
            Asynchronously dispatches a response.
            </summary>
            <typeparam name="TOutbound">The request payload type.</typeparam>
            <param name="request">The associated request.</param>
            <param name="responsePayload">The response payload.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.</returns>
        </member>
        <member name="M:NuGet.Protocol.Plugins.IMessageDispatcher.SetConnection(NuGet.Protocol.Plugins.IConnection)">
            <summary>
            Sets the connection to be used for dispatching messages.
            </summary>
            <param name="connection">A connection instance.  Can be <see langword="null" />.</param>
        </member>
        <member name="T:NuGet.Protocol.Plugins.InboundRequestContext">
            <summary>
            Context for an inbound request.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.InboundRequestContext.RequestId">
            <summary>
            Gets the request ID.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.InboundRequestContext.#ctor(NuGet.Protocol.Plugins.IConnection,System.String,System.Threading.CancellationToken)">
            <summary>
            Initializes a new <see cref="T:NuGet.Protocol.Plugins.InboundRequestContext" /> class.
            </summary>
            <param name="connection">A connection.</param>
            <param name="requestId">A request ID.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="connection" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="requestId" />
            is either <see langword="null" /> or an empty string.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.InboundRequestContext.#ctor(NuGet.Protocol.Plugins.IConnection,System.String,System.Threading.CancellationToken,NuGet.Protocol.Plugins.InboundRequestProcessingHandler,NuGet.Protocol.Plugins.IPluginLogger)">
            <summary>
            Initializes a new <see cref="T:NuGet.Protocol.Plugins.InboundRequestContext" /> class.
            </summary>
            <param name="connection">A connection.</param>
            <param name="requestId">A request ID.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <param name="logger">A plugin logger.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="connection" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="requestId" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="inboundRequestProcessingHandler" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" />
            is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.InboundRequestContext.Dispose">
            <summary>
            Disposes of this instance.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.InboundRequestContext.BeginFaultAsync(NuGet.Protocol.Plugins.Message,System.Exception)">
            <summary>
            Asynchronously starts processing a fault response for the inbound request.
            </summary>
            <param name="request">The request.</param>
            <param name="exception">An exception.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="request" />
            is either <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="exception" />
            is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.InboundRequestContext.BeginResponseAsync(NuGet.Protocol.Plugins.Message,NuGet.Protocol.Plugins.IRequestHandler,NuGet.Protocol.Plugins.IResponseHandler)">
            <summary>
            Asynchronously starts processing a response for the inbound request.
            </summary>
            <param name="request">The request.</param>
            <param name="requestHandler">A request handler.</param>
            <param name="responseHandler">A response handler.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="request" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="requestHandler" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="responseHandler" />
            is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.InboundRequestContext.Cancel">
            <summary>
            Cancels an inbound request.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.InboundRequestProcessingHandler.#ctor(System.Collections.Generic.IEnumerable{NuGet.Protocol.Plugins.MessageMethod})">
            <summary>
            Requests from the processing methods provided in this set are handled on a dedicated thread.
            </summary>
            <param name="fastProcessingMethods"></param>
        </member>
        <member name="M:NuGet.Protocol.Plugins.InboundRequestProcessingHandler.Handle(NuGet.Protocol.Plugins.MessageMethod,System.Func{System.Threading.Tasks.Task},System.Threading.CancellationToken)">
            <summary>
            Methods that are in the fast processing method list will be handled on a separate thread. Everything else will be queued on the threadpool.
            </summary>
            <param name="messageMethod"></param>
            <param name="task"></param>
            <param name="cancellationToken"></param>
        </member>
        <member name="T:NuGet.Protocol.Plugins.IPlugin">
            <summary>
            Represents a plugin.
            </summary>
        </member>
        <member name="E:NuGet.Protocol.Plugins.IPlugin.BeforeClose">
            <summary>
            Occurs before the plugin closes.
            </summary>
        </member>
        <member name="E:NuGet.Protocol.Plugins.IPlugin.Closed">
            <summary>
            Occurs when the plugin has closed.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.IPlugin.Connection">
            <summary>
            Gets the connection for the plugin.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.IPlugin.FilePath">
            <summary>
            Gets the file path for the plugin.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.IPlugin.Id">
            <summary>
            Gets the unique identifier for the plugin.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.IPlugin.Name">
            <summary>
            Gets the name of the plugin.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.IPlugin.Close">
            <summary>
            Closes the plugin.
            </summary>
            <remarks>This does not call <see cref="M:System.IDisposable.Dispose" />.</remarks>
        </member>
        <member name="T:NuGet.Protocol.Plugins.IPluginDiscoverer">
            <summary>
            A plugin discoverer.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.IPluginDiscoverer.DiscoverAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously discovers plugins.
            </summary>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:System.Collections.Generic.IEnumerable`1" />.</returns>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.IPluginFactory">
            <summary>
            A plugin factory.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.IPluginFactory.GetOrCreateAsync(NuGet.Protocol.Plugins.PluginFile,System.Collections.Generic.IEnumerable{System.String},NuGet.Protocol.Plugins.IRequestHandlers,NuGet.Protocol.Plugins.ConnectionOptions,System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets an existing plugin instance or creates a new instance and connects to it.
            </summary>
            <param name="pluginFile">A plugin file.</param>
            <param name="arguments">Command-line arguments to be supplied to the plugin.</param>
            <param name="requestHandlers">Request handlers.</param>
            <param name="options">Connection options.</param>
            <param name="sessionCancellationToken">A cancellation token for the plugin's lifetime.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns a <see cref="T:NuGet.Protocol.Plugins.Plugin" />
            instance.</returns>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="pluginFile.Path.Path" />
            is either <see langword="null" /> or empty.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="arguments" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="requestHandlers" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="options" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="sessionCancellationToken" />
            is cancelled.</exception>
            <exception cref="T:System.ObjectDisposedException">Thrown if this object is disposed.</exception>
            <remarks>This is intended to be called by NuGet client tools.</remarks>
        </member>
        <member name="M:NuGet.Protocol.Plugins.IPluginManager.CreatePluginsAsync(NuGet.Protocol.Core.Types.SourceRepository,System.Threading.CancellationToken)">
            <summary>
            Create plugins appropriate for the given source
            </summary>
            <param name="source"></param>
            <param name="cancellationToken"></param>
            <exception cref="T:System.ArgumentNullException">Throw if <paramref name="source"/> is null </exception>
            <returns>PluginCreationResults</returns>
        </member>
        <member name="M:NuGet.Protocol.Plugins.IPluginManager.FindAvailablePluginsAsync(System.Threading.CancellationToken)">
            <summary>
            Find all available plugins on the machine
            </summary>
            <param name="cancellationToken"></param>
            <returns>PluginDiscoveryResults</returns>
        </member>
        <member name="M:NuGet.Protocol.Plugins.IPluginManager.TryGetSourceAgnosticPluginAsync(NuGet.Protocol.Plugins.PluginDiscoveryResult,NuGet.Protocol.Plugins.OperationClaim,System.Threading.CancellationToken)">
            <summary>
            Creates a plugin from the given pluginDiscoveryResult.
            This plugin's operations will be source agnostic ones
            </summary>
            <param name="pluginDiscoveryResult"></param>
            <param name="cancellationToken"></param>
            <returns>A PluginCreationResult</returns>
        </member>
        <member name="T:NuGet.Protocol.Plugins.IPluginMulticlientUtilities">
            <summary>
            Plugin multiclient utilities.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.IPluginMulticlientUtilities.DoOncePerPluginLifetimeAsync(System.String,System.Func{System.Threading.Tasks.Task},System.Threading.CancellationToken)">
            <summary>
            Asynchronously executes a task once per plugin lifetime per key.
            </summary>
            <param name="key">A key that identifies the task.</param>
            <param name="taskFunc">A function that returns a task.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.</returns>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="key" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="taskFunc" />
            is either <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.IPluginProcess">
            <summary>
            Represents a plugin process.
            </summary>
        </member>
        <member name="E:NuGet.Protocol.Plugins.IPluginProcess.LineRead">
            <summary>
            Occurs when a line of output has been received.
            </summary>
        </member>
        <member name="E:NuGet.Protocol.Plugins.IPluginProcess.Exited">
            <summary>
            Occurs when a process exits.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.IPluginProcess.ExitCode">
            <summary>
            Gets the exit code if the process has exited; otherwise, <see langword="null" />.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.IPluginProcess.Id">
            <summary>
            Gets the process ID if the process was started; otherwise, <see langword="null" />.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.IPluginProcess.BeginReadLine">
            <summary>
            Asynchronously starts reading the standard output stream.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.IPluginProcess.CancelRead">
            <summary>
            Cancels asynchronous reading of the standard output stream.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.IPluginProcess.Kill">
            <summary>
            Stops the associated process.
            </summary>
        </member>
        <member name="T:NuGet.Protocol.Plugins.IReceiver">
            <summary>
            Represents a unidirectional communications channel from a target.
            </summary>
        </member>
        <member name="E:NuGet.Protocol.Plugins.IReceiver.Faulted">
            <summary>
            Occurs when an unrecoverable fault has been caught.
            </summary>
        </member>
        <member name="E:NuGet.Protocol.Plugins.IReceiver.MessageReceived">
            <summary>
            Occurs when a message has been received.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.IReceiver.Close">
            <summary>
            Closes the connection.
            </summary>
            <remarks>This does not call <see cref="M:System.IDisposable.Dispose" />.</remarks>
        </member>
        <member name="M:NuGet.Protocol.Plugins.IReceiver.Connect">
            <summary>
            Connects.
            </summary>
            <exception cref="T:System.ObjectDisposedException">Thrown if this object is disposed.</exception>
            <exception cref="T:System.InvalidOperationException">Thrown if this object is closed.</exception>
            <exception cref="T:System.InvalidOperationException">Thrown if this method has already been called.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.IRequestHandler">
            <summary>
            Represents a request handler.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.IRequestHandler.CancellationToken">
            <summary>
            Gets the <see cref="P:NuGet.Protocol.Plugins.IRequestHandler.CancellationToken" /> for a request.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.IRequestHandler.HandleResponseAsync(NuGet.Protocol.Plugins.IConnection,NuGet.Protocol.Plugins.Message,NuGet.Protocol.Plugins.IResponseHandler,System.Threading.CancellationToken)">
            <summary>
            Asynchronously handles responding to a request.
            </summary>
            <param name="connection">The connection.</param>
            <param name="request">A request message.</param>
            <param name="responseHandler">A response handler.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="connection" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="request" /> is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="responseHandler" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.IRequestHandlers">
            <summary>
            A set of <see cref="T:NuGet.Protocol.Plugins.IRequestHandler" />.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.IRequestHandlers.AddOrUpdate(NuGet.Protocol.Plugins.MessageMethod,System.Func{NuGet.Protocol.Plugins.IRequestHandler},System.Func{NuGet.Protocol.Plugins.IRequestHandler,NuGet.Protocol.Plugins.IRequestHandler})">
            <summary>
            Atomically add or update a request handler for the specified message method.
            </summary>
            <param name="method">A message method.</param>
            <param name="addHandlerFunc">An add request handler function.</param>
            <param name="updateHandlerFunc">An update request handler function.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="addHandlerFunc" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="updateHandlerFunc" />
            is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.IRequestHandlers.TryAdd(NuGet.Protocol.Plugins.MessageMethod,NuGet.Protocol.Plugins.IRequestHandler)">
            <summary>
            Attempts to add a request handler for the specified message method.
            </summary>
            <param name="method">A message method.</param>
            <param name="handler">A request handler.</param>
            <returns><see langword="true" /> if added; otherwise, <see langword="false" />.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="handler" /> is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.IRequestHandlers.TryGet(NuGet.Protocol.Plugins.MessageMethod,NuGet.Protocol.Plugins.IRequestHandler@)">
            <summary>
            Attempts to get a request handler for the specified message method.
            </summary>
            <param name="method">A message method.</param>
            <param name="handler">A request handler.</param>
            <returns><see langword="true" /> if the request handler exists; otherwise, <see langword="false" />.</returns>
        </member>
        <member name="M:NuGet.Protocol.Plugins.IRequestHandlers.TryRemove(NuGet.Protocol.Plugins.MessageMethod)">
            <summary>
            Attempts to remove a request handler for the specified message method.
            </summary>
            <param name="method">A message method.</param>
            <returns><see langword="true" /> if a request handler was removed; otherwise, <see langword="false" />.</returns>
        </member>
        <member name="T:NuGet.Protocol.Plugins.IResponseHandler">
            <summary>
            A response handler.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.IResponseHandler.SendResponseAsync``1(NuGet.Protocol.Plugins.Message,``0,System.Threading.CancellationToken)">
            <summary>
            Asynchronously handles responding to a request.
            </summary>
            <typeparam name="TPayload">The response payload type.</typeparam>
            <param name="request">The request message.</param>
            <param name="payload">The response payload.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="request" /> is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="payload" /> is <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.ISender">
            <summary>
            Represents a unidirectional communications to a target.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.ISender.Close">
            <summary>
            Closes the connection.
            </summary>
            <remarks>This does not call <see cref="M:System.IDisposable.Dispose" />.</remarks>
        </member>
        <member name="M:NuGet.Protocol.Plugins.ISender.Connect">
            <summary>
            Connects.
            </summary>
            <exception cref="T:System.ObjectDisposedException">Thrown if this object is disposed.</exception>
            <exception cref="T:System.InvalidOperationException">Thrown if this object is closed.</exception>
            <exception cref="T:System.InvalidOperationException">Thrown if this method has already been called.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.ISender.SendAsync(NuGet.Protocol.Plugins.Message,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sends a message to the target.
            </summary>
            <param name="message">The message to send.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.</returns>
            <exception cref="T:System.ObjectDisposedException">Thrown if this object is disposed.</exception>
            <exception cref="T:System.InvalidOperationException">Thrown if <see cref="M:NuGet.Protocol.Plugins.ISender.Connect" /> has not been called.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="message" /> is <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.JsonSerializationUtilities">
            <summary>
            JSON serialization/deserialization utilities.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.JsonSerializationUtilities.Serializer">
            <summary>
            Gets the JSON serializer.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.JsonSerializationUtilities.Deserialize``1(System.String)">
            <summary>
            Deserializes an object from the provided JSON.
            </summary>
            <typeparam name="T">The deserialization type.</typeparam>
            <param name="json">JSON to deserialize.</param>
            <returns>An instance of <typeparamref name="T" />.</returns>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="json" />
            is either <see langword="null" /> or an empty string.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.JsonSerializationUtilities.FromObject(System.Object)">
            <summary>
            Serializes an object.
            </summary>
            <param name="value">An object to serialize.</param>
            <returns>A <see cref="T:Newtonsoft.Json.Linq.JObject" />.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.JsonSerializationUtilities.Serialize(Newtonsoft.Json.JsonWriter,System.Object)">
            <summary>
            Serializes an object to the provided writer.
            </summary>
            <param name="writer">A JSON writer.</param>
            <param name="value">The value to serialize.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="value" /> is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.JsonSerializationUtilities.ToObject``1(Newtonsoft.Json.Linq.JObject)">
            <summary>
            Deserializes an object.
            </summary>
            <typeparam name="T">The deserialization type.</typeparam>
            <param name="jObject">A JSON object.</param>
            <returns>An instance of <typeparamref name="T" />.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="jObject" /> is <see langword="null" />.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.LineReadEventArgs">
            <summary>
            Line read event arguments.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.LineReadEventArgs.Line">
            <summary>
            The output line read.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.LineReadEventArgs.#ctor(System.String)">
            <summary>
            Instantiates a new <see cref="T:NuGet.Protocol.Plugins.LineReadEventArgs" /> class.
            </summary>
            <param name="line">The output line read.</param>
        </member>
        <member name="T:NuGet.Protocol.Plugins.MessageDispatcher">
            <summary>
            A message dispatcher that maintains state for outstanding requests
            and routes messages to configured request handlers.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.MessageDispatcher.RequestHandlers">
            <summary>
            Gets the request handlers for use by the dispatcher.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.MessageDispatcher.#ctor(NuGet.Protocol.Plugins.IRequestHandlers,NuGet.Protocol.Plugins.IIdGenerator)">
            <summary>
            Instantiates a new <see cref="T:NuGet.Protocol.Plugins.MessageDispatcher" /> class.
            </summary>
            <param name="requestHandlers">Request handlers.</param>
            <param name="idGenerator">A unique identifier generator.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="requestHandlers" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="idGenerator" />
            is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.MessageDispatcher.#ctor(NuGet.Protocol.Plugins.IRequestHandlers,NuGet.Protocol.Plugins.IIdGenerator,NuGet.Protocol.Plugins.InboundRequestProcessingHandler,NuGet.Protocol.Plugins.IPluginLogger)">
            <summary>
            Instantiates a new <see cref="T:NuGet.Protocol.Plugins.MessageDispatcher" /> class.
            </summary>
            <param name="requestHandlers">Request handlers.</param>
            <param name="idGenerator">A unique identifier generator.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="requestHandlers" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="idGenerator" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="inboundRequestProcessingHandler" />
            is <see langword="null" />.</exception>
            /// <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" />
            is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.MessageDispatcher.Dispose">
            <summary>
            Disposes of this instance.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.MessageDispatcher.Close">
            <summary>
            Closes the dispatcher.
            </summary>
            <remarks>This does not call <see cref="M:System.IDisposable.Dispose" />.</remarks>
        </member>
        <member name="M:NuGet.Protocol.Plugins.MessageDispatcher.CreateMessage(NuGet.Protocol.Plugins.MessageType,NuGet.Protocol.Plugins.MessageMethod)">
            <summary>
            Creates a message.
            </summary>
            <param name="type">The message type.</param>
            <param name="method">The message method.</param>
            <returns>A message.</returns>
        </member>
        <member name="M:NuGet.Protocol.Plugins.MessageDispatcher.CreateMessage``1(NuGet.Protocol.Plugins.MessageType,NuGet.Protocol.Plugins.MessageMethod,``0)">
            <summary>
            Creates a message.
            </summary>
            <typeparam name="TPayload">The message payload.</typeparam>
            <param name="type">The message type.</param>
            <param name="method">The message method.</param>
            <param name="payload">The message payload.</param>
            <returns>A message.</returns>
            <exception cref="T:System.ArgumentNullException">Throws if <paramref name="payload" /> is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.MessageDispatcher.DispatchCancelAsync(NuGet.Protocol.Plugins.Message,System.Threading.CancellationToken)">
            <summary>
            Asynchronously dispatches a cancellation request for the specified request.
            </summary>
            <param name="request">The request.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="request" /> is <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.MessageDispatcher.DispatchFaultAsync(NuGet.Protocol.Plugins.Message,NuGet.Protocol.Plugins.Fault,System.Threading.CancellationToken)">
            <summary>
            Asynchronously dispatches a fault notification for the specified request.
            </summary>
            <param name="request">The cancel request.</param>
            <param name="fault">The fault payload.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="fault" /> is <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.MessageDispatcher.DispatchProgressAsync(NuGet.Protocol.Plugins.Message,NuGet.Protocol.Plugins.Progress,System.Threading.CancellationToken)">
            <summary>
            Asynchronously dispatches a progress notification for the specified request.
            </summary>
            <param name="request">The request.</param>
            <param name="progress">The progress payload.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="request" /> is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="progress" /> is <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.MessageDispatcher.DispatchRequestAsync``2(NuGet.Protocol.Plugins.MessageMethod,``0,System.Threading.CancellationToken)">
            <summary>
            Asynchronously dispatches a request.
            </summary>
            <typeparam name="TOutbound">The request payload type.</typeparam>
            <typeparam name="TInbound">The expected response payload type.</typeparam>
            <param name="method">The request method.</param>
            <param name="payload">The request payload.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns a <typeparamref name="TInbound" />
            from the target.</returns>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.MessageDispatcher.DispatchResponseAsync``1(NuGet.Protocol.Plugins.Message,``0,System.Threading.CancellationToken)">
            <summary>
            Asynchronously dispatches a response.
            </summary>
            <typeparam name="TOutbound">The request payload type.</typeparam>
            <param name="request">The associated request.</param>
            <param name="responsePayload">The response payload.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="request" /> is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="responsePayload" /> is <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.MessageDispatcher.SetConnection(NuGet.Protocol.Plugins.IConnection)">
            <summary>
            Sets the connection to be used for dispatching messages.
            </summary>
            <param name="connection">A connection instance.  Can be <see langword="null" />.</param>
        </member>
        <member name="T:NuGet.Protocol.Plugins.MessageEventArgs">
            <summary>
            Message event arguments.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.MessageEventArgs.Message">
            <summary>
            Gets the message.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.MessageEventArgs.#ctor(NuGet.Protocol.Plugins.Message)">
            <summary>
            Instantiates a new <see cref="T:NuGet.Protocol.Plugins.MessageEventArgs" /> class.
            </summary>
            <param name="message">A message.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="message" /> is <see langword="null" />.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.MessageMethod">
            <summary>
            Message methods.
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Plugins.MessageMethod.None">
            <summary>
            None
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Plugins.MessageMethod.Close">
            <summary>
            Close
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Plugins.MessageMethod.CopyFilesInPackage">
            <summary>
            Copy files in a package
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Plugins.MessageMethod.CopyNupkgFile">
            <summary>
            Copy a .nupkg file
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Plugins.MessageMethod.GetCredentials">
            <summary>
            Get credentials
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Plugins.MessageMethod.GetFilesInPackage">
            <summary>
            Get files in a package
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Plugins.MessageMethod.GetOperationClaims">
            <summary>
            Get operation claims
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Plugins.MessageMethod.GetPackageHash">
            <summary>
            Get package hash
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Plugins.MessageMethod.GetPackageVersions">
            <summary>
            Get package versions
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Plugins.MessageMethod.GetServiceIndex">
            <summary>
            Get service index
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Plugins.MessageMethod.Handshake">
            <summary>
            Handshake
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Plugins.MessageMethod.Initialize">
            <summary>
            Initialize
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Plugins.MessageMethod.Log">
            <summary>
            Log
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Plugins.MessageMethod.MonitorNuGetProcessExit">
            <summary>
            Monitor NuGet process exit
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Plugins.MessageMethod.PrefetchPackage">
            <summary>
            Prefetch a package
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Plugins.MessageMethod.SetCredentials">
            <summary>
            Set credentials
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Plugins.MessageMethod.SetLogLevel">
            <summary>
            Set log level
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Plugins.MessageMethod.GetAuthenticationCredentials">
            <summary>
            Get authentication credentials, for authentication operation
            </summary>
        </member>
        <member name="T:NuGet.Protocol.Plugins.MessageResponseCode">
            <summary>
            Message response codes.
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Plugins.MessageResponseCode.Success">
            <summary>
            The response is success.
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Plugins.MessageResponseCode.Error">
            <summary>
            The response is error.
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Plugins.MessageResponseCode.NotFound">
            <summary>
            The response is not found.
            </summary>
        </member>
        <member name="T:NuGet.Protocol.Plugins.CopyFilesInPackageRequest">
            <summary>
            A request to copy files in a package to a specified destination.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.CopyFilesInPackageRequest.DestinationFolderPath">
            <summary>
            Gets the destination folder path.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.CopyFilesInPackageRequest.FilesInPackage">
            <summary>
            Gets the files in the package to be copied.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.CopyFilesInPackageRequest.PackageId">
            <summary>
            Gets the package ID.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.CopyFilesInPackageRequest.PackageSourceRepository">
            <summary>
            Gets the package source repository location.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.CopyFilesInPackageRequest.PackageVersion">
            <summary>
            Gets the package version.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.CopyFilesInPackageRequest.#ctor(System.String,System.String,System.String,System.Collections.Generic.IEnumerable{System.String},System.String)">
            <summary>
            Initializes a new <see cref="T:NuGet.Protocol.Plugins.CopyFilesInPackageRequest" /> class.
            </summary>
            <param name="packageSourceRepository">The package source repository location.</param>
            <param name="packageId">The package ID.</param>
            <param name="packageVersion">The package version.</param>
            <param name="filesInPackage">The files in the package to be copied.</param>
            <param name="destinationFolderPath">The destination folder path.</param>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="packageSourceRepository" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="packageId" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="packageVersion" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="filesInPackage" />
            is either <see langword="null" /> or empty.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="destinationFolderPath" />
            is either <see langword="null" /> or an empty string.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.CopyFilesInPackageResponse">
            <summary>
            A response to a copy package files request.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.CopyFilesInPackageResponse.CopiedFiles">
            <summary>
            Gets the paths of files copies.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.CopyFilesInPackageResponse.ResponseCode">
            <summary>
            Gets the response code.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.CopyFilesInPackageResponse.#ctor(NuGet.Protocol.Plugins.MessageResponseCode,System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Initializes a new <see cref="T:NuGet.Protocol.Plugins.CopyFilesInPackageResponse" /> class.
            </summary>
            <param name="responseCode">The response code.</param>
            <param name="copiedFiles">The paths of files copies.</param>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="responseCode" />
            is an undefined <see cref="T:NuGet.Protocol.Plugins.MessageResponseCode" /> value.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="responseCode" /> 
            is <see cref="F:NuGet.Protocol.Plugins.MessageResponseCode.Success" /> and <paramref name="copiedFiles" />
            is either <see langword="null" /> or empty.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.CopyNupkgFileRequest">
            <summary>
            A request to copy a .nupkg file.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.CopyNupkgFileRequest.DestinationFilePath">
            <summary>
            Gets the destination file path for the .nupkg file.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.CopyNupkgFileRequest.PackageId">
            <summary>
            Gets the package ID.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.CopyNupkgFileRequest.PackageSourceRepository">
            <summary>
            Gets the package source repository location.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.CopyNupkgFileRequest.PackageVersion">
            <summary>
            Gets the package version.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.CopyNupkgFileRequest.#ctor(System.String,System.String,System.String,System.String)">
            <summary>
            Initializes a new <see cref="T:NuGet.Protocol.Plugins.CopyNupkgFileRequest" /> class.
            </summary>
            <param name="packageSourceRepository">The package source repository location.</param>
            <param name="packageId">The package ID.</param>
            <param name="packageVersion">The package version.</param>
            <param name="destinationFilePath">The destination file path for the .nupkg file.</param>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="packageSourceRepository" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="packageId" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="packageVersion" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="destinationFilePath" />
            is either <see langword="null" /> or an empty string.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.CopyNupkgFileResponse">
            <summary>
            A response to a copy .nupkg file request.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.CopyNupkgFileResponse.ResponseCode">
            <summary>
            Gets the response code.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.CopyNupkgFileResponse.#ctor(NuGet.Protocol.Plugins.MessageResponseCode)">
            <summary>
            Initializes a new <see cref="T:NuGet.Protocol.Plugins.CopyNupkgFileResponse" /> class.
            </summary>
            <param name="responseCode">The response code.</param>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="responseCode" />
            is an undefined <see cref="T:NuGet.Protocol.Plugins.MessageResponseCode" /> value.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.Fault">
            <summary>
            A notification indicating the sender has experienced an unrecoverable fault.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.Fault.Message">
            <summary>
            Gets the fault message.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.Fault.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:NuGet.Protocol.Plugins.Fault" /> class.
            </summary>
            <param name="message">The fault message.</param>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="message" />
            is either <see langword="null" /> or an empty string.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.GetAuthenticationCredentialsRequest">
            <summary>
            A get authentication credentials request
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.GetAuthenticationCredentialsRequest.Uri">
            <summary>
            Uri
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.GetAuthenticationCredentialsRequest.IsRetry">
            <summary>
            isRetry
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.GetAuthenticationCredentialsRequest.IsNonInteractive">
            <summary>
            IsNonInteractive - tells the plugin whether it can block the operation to ask for user input. Be it a device flow request or a pop-up. 
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.GetAuthenticationCredentialsRequest.CanShowDialog">
            <summary>
            CanShowDialog - tells the plugin whether it can show a dialog if the plugin is run in interactive mode. This being false normally means that the auth method should be device flow.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.GetAuthenticationCredentialsRequest.#ctor(System.Uri,System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Create a GetAuthenticationCredentialsRequest
            </summary>
            <param name="uri"></param>
            <param name="isRetry"></param>
            <param name="isNonInteractive"></param>
            <exception cref="T:System.ArgumentNullException"> if <paramref name="uri"/> is null</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.GetAuthenticationCredentialsResponse">
            <summary>
            A get authentication credentials response
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.GetAuthenticationCredentialsResponse.Username">
            <summary>
            Username
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.GetAuthenticationCredentialsResponse.Password">
            <summary>
            password token
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.GetAuthenticationCredentialsResponse.Message">
            <summary>
            message - optional, can be used as a way to communicate to NuGet why the authentication failed.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.GetAuthenticationCredentialsResponse.AuthenticationTypes">
            <summary>
            Gets or sets the list of authentication types this credential is applicable to. Useful values include
            <c>basic</c>, <c>digest</c>, <c>negotiate</c>, and <c>ntlm</c>
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.GetAuthenticationCredentialsResponse.ResponseCode">
            <summary>
            ResponseCode - status of the credentials
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.GetAuthenticationCredentialsResponse.#ctor(System.String,System.String,System.String,System.Collections.Generic.IList{System.String},NuGet.Protocol.Plugins.MessageResponseCode)">
            <summary>
            Create a response object
            </summary>
            <param name="username"></param>
            <param name="password"></param>
            <param name="message"></param>
            <param name="authenticationTypes"></param>
            <param name="responseCode"></param>
            <exception cref="T:System.ArgumentException">If MessageResponseCode is not defined on this runtime</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.GetAuthenticationCredentialsResponse.IsValid">
            <summary>
            Gets a value indicating whether the provider returnd a valid response.
            </summary>
            <remarks>
            Either Username or Password (or both) must be set, and AuthTypes must either be null or contain at least
            one element
            </remarks>
        </member>
        <member name="T:NuGet.Protocol.Plugins.GetCredentialsRequest">
            <summary>
            A request to get credentials.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.GetCredentialsRequest.PackageSourceRepository">
            <summary>
            Gets the package source repository location.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.GetCredentialsRequest.StatusCode">
            <summary>
            Gets the HTTP status code that necessitates credentials.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.GetCredentialsRequest.#ctor(System.String,System.Net.HttpStatusCode)">
            <summary>
            Initializes a new <see cref="T:NuGet.Protocol.Plugins.GetCredentialsRequest" /> class.
            </summary>
            <param name="packageSourceRepository">The package source repository location.</param>
            <param name="statusCode">The HTTP status code.</param>
        </member>
        <member name="T:NuGet.Protocol.Plugins.GetCredentialsResponse">
            <summary>
            A response to a get credentials request.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.GetCredentialsResponse.Password">
            <summary>
            Gets the password.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.GetCredentialsResponse.ResponseCode">
            <summary>
            Gets the response code.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.GetCredentialsResponse.Username">
            <summary>
            Gets the username.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.GetCredentialsResponse.#ctor(NuGet.Protocol.Plugins.MessageResponseCode,System.String,System.String,System.Collections.Generic.IReadOnlyList{System.String})">
            <summary>
            Initializes a new instance of the <see cref="T:NuGet.Protocol.Plugins.GetCredentialsResponse" /> class.
            </summary>
            <param name="responseCode">The plugin's response code.</param>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="responseCode" />
            is an undefined <see cref="T:NuGet.Protocol.Plugins.MessageResponseCode" /> value.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.GetFilesInPackageRequest">
            <summary>
            A get files in package request.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.GetFilesInPackageRequest.PackageId">
            <summary>
            Gets the package ID.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.GetFilesInPackageRequest.PackageSourceRepository">
            <summary>
            Gets the package source repository location.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.GetFilesInPackageRequest.PackageVersion">
            <summary>
            Gets the package version.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.GetFilesInPackageRequest.#ctor(System.String,System.String,System.String)">
            <summary>
            Initializes a new <see cref="T:NuGet.Protocol.Plugins.GetFilesInPackageRequest" /> class.
            </summary>
            <param name="packageSourceRepository">The package source repository location.</param>
            <param name="packageId">The package ID.</param>
            <param name="packageVersion">The package version.</param>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="packageSourceRepository" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="packageId" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="packageVersion" />
            is either <see langword="null" /> or an empty string.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.GetFilesInPackageResponse">
            <summary>
            A response to a get files in package request.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.GetFilesInPackageResponse.Files">
            <summary>
            Gets the paths of files in the package.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.GetFilesInPackageResponse.ResponseCode">
            <summary>
            Gets the response code.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.GetFilesInPackageResponse.#ctor(NuGet.Protocol.Plugins.MessageResponseCode,System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Initializes a new <see cref="T:NuGet.Protocol.Plugins.GetFilesInPackageResponse" /> class.
            </summary>
            <param name="responseCode">The response code.</param>
            <param name="files">The paths of files in the package.</param>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="responseCode" />
            is an undefined <see cref="T:NuGet.Protocol.Plugins.MessageResponseCode" /> value.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="responseCode" /> 
            is <see cref="F:NuGet.Protocol.Plugins.MessageResponseCode.Success" /> and <paramref name="files" />
            is either <see langword="null" /> or empty.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.GetOperationClaimsRequest">
            <summary>
            A query to a plugin about which operations it supports for a specific package source.
            In version 1.0.0, the fields are required. That's not the case for version 2.0.0
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.GetOperationClaimsRequest.PackageSourceRepository">
            <summary>
            Gets the package source repository location for the <see cref="P:NuGet.Protocol.Plugins.GetOperationClaimsRequest.ServiceIndex" />.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.GetOperationClaimsRequest.ServiceIndex">
            <summary>
            Gets the service index (index.json) for the <see cref="P:NuGet.Protocol.Plugins.GetOperationClaimsRequest.PackageSourceRepository" />.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.GetOperationClaimsRequest.#ctor(System.String,Newtonsoft.Json.Linq.JObject)">
            <summary>
            Initializes a new instance of the <see cref="T:NuGet.Protocol.Plugins.GetOperationClaimsRequest" /> class.
            </summary>
            <param name="packageSourceRepository">The package source location.</param>
            <param name="serviceIndex">The service index (index.json).</param>
            <remarks>Both packageSourceRepository and service index can be null. If they are, the operation claims request is considered as source agnostic</remarks>
        </member>
        <member name="T:NuGet.Protocol.Plugins.GetOperationClaimsResponse">
            <summary>
            A plugin's response as to which operations it supports for a specific package source.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.GetOperationClaimsResponse.Claims">
            <summary>
            Gets the plugin's operation claims.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.GetOperationClaimsResponse.#ctor(System.Collections.Generic.IEnumerable{NuGet.Protocol.Plugins.OperationClaim})">
            <summary>
            Initializes a new instance of the <see cref="T:NuGet.Protocol.Plugins.GetOperationClaimsResponse" /> class.
            </summary>
            <param name="claims">The operation claims.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="claims" /> is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="claims" /> contains
            undefined <see cref="T:NuGet.Protocol.Plugins.OperationClaim" /> values.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.GetPackageHashRequest">
            <summary>
            A request to get a package hash.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.GetPackageHashRequest.HashAlgorithm">
            <summary>
            Gets the hash algorithm.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.GetPackageHashRequest.PackageId">
            <summary>
            Gets the package ID.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.GetPackageHashRequest.PackageSourceRepository">
            <summary>
            Gets the package source repository location.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.GetPackageHashRequest.PackageVersion">
            <summary>
            Gets the package version.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.GetPackageHashRequest.#ctor(System.String,System.String,System.String,System.String)">
            <summary>
            Initializes a new <see cref="T:NuGet.Protocol.Plugins.GetPackageHashRequest" /> class.
            </summary>
            <param name="packageSourceRepository">The package source repository location.</param>
            <param name="packageId">The package ID.</param>
            <param name="packageVersion">The package version.</param>
            <param name="hashAlgorithm">The hash algorithm.</param>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="packageSourceRepository" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="packageId" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="packageVersion" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="hashAlgorithm" />
            is either <see langword="null" /> or an empty string.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.GetPackageHashResponse">
            <summary>
            A response to a get package hash request.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.GetPackageHashResponse.Hash">
            <summary>
            Gets the package hash.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.GetPackageHashResponse.ResponseCode">
            <summary>
            Gets the response code.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.GetPackageHashResponse.#ctor(NuGet.Protocol.Plugins.MessageResponseCode,System.String)">
            <summary>
            Initializes a new <see cref="T:NuGet.Protocol.Plugins.GetPackageHashResponse" /> class.
            </summary>
            <param name="responseCode">The response code.</param>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="responseCode" />
            is an undefined <see cref="T:NuGet.Protocol.Plugins.MessageResponseCode" /> value.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="responseCode" /> 
            is <see cref="F:NuGet.Protocol.Plugins.MessageResponseCode.Success" /> and <paramref name="hash" />
            is either <see langword="null" /> or empty.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.GetPackageVersionsRequest">
            <summary>
            A request for package versions.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.GetPackageVersionsRequest.PackageId">
            <summary>
            Gets the package ID.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.GetPackageVersionsRequest.PackageSourceRepository">
            <summary>
            Gets the package source repository location.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.GetPackageVersionsRequest.#ctor(System.String,System.String)">
            <summary>
            Initializes a new <see cref="T:NuGet.Protocol.Plugins.GetPackageVersionsRequest" /> class.
            </summary>
            <param name="packageSourceRepository">The package source repository location.</param>
            <param name="packageId">The package ID.</param>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="packageSourceRepository" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="packageId" />
            is either <see langword="null" /> or an empty string.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.GetPackageVersionsResponse">
            <summary>
            A response to a get package versions request.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.GetPackageVersionsResponse.ResponseCode">
            <summary>
            Gets the response code.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.GetPackageVersionsResponse.Versions">
            <summary>
            Gets the package versions.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.GetPackageVersionsResponse.#ctor(NuGet.Protocol.Plugins.MessageResponseCode,System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Initializes a new <see cref="T:NuGet.Protocol.Plugins.GetPackageVersionsResponse" /> class.
            </summary>
            <param name="responseCode">The response code.</param>
            <param name="versions">The package versions.</param>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="responseCode" />
            is an undefined <see cref="T:NuGet.Protocol.Plugins.MessageResponseCode" /> value.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="responseCode" /> 
            is <see cref="F:NuGet.Protocol.Plugins.MessageResponseCode.Success" /> and <paramref name="versions" />
            is either <see langword="null" /> or empty.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.GetServiceIndexRequest">
            <summary>
            A request to get the service index for a package source repository.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.GetServiceIndexRequest.PackageSourceRepository">
            <summary>
            Gets the package source repository location.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.GetServiceIndexRequest.#ctor(System.String)">
            <summary>
            Initializes a new <see cref="T:NuGet.Protocol.Plugins.GetServiceIndexRequest" /> class.
            </summary>
            <param name="packageSourceRepository">The package source repository location.</param>
        </member>
        <member name="T:NuGet.Protocol.Plugins.GetServiceIndexResponse">
            <summary>
            A response to a get service index request.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.GetServiceIndexResponse.ResponseCode">
            <summary>
            Gets the response code.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.GetServiceIndexResponse.ServiceIndex">
            <summary>
            Gets the service index (index.json) for the package source repository.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.GetServiceIndexResponse.#ctor(NuGet.Protocol.Plugins.MessageResponseCode,Newtonsoft.Json.Linq.JObject)">
            <summary>
            Initializes a new instance of the <see cref="T:NuGet.Protocol.Plugins.GetServiceIndexResponse" /> class.
            </summary>
            <param name="responseCode">The response code.</param>
            <param name="serviceIndex">The service index (index.json) for the package source repository.</param>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="responseCode" />
            is an undefined <see cref="T:NuGet.Protocol.Plugins.MessageResponseCode" /> value.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="responseCode" /> 
            is <see cref="F:NuGet.Protocol.Plugins.MessageResponseCode.Success" /> and <paramref name="serviceIndex" />
            is <see langword="null" />.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.HandshakeRequest">
            <summary>
            A handshake request.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.HandshakeRequest.ProtocolVersion">
            <summary>
            Gets the requestor's plugin protocol version.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.HandshakeRequest.MinimumProtocolVersion">
            <summary>
            Gets the requestor's minimum plugin protocol version.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.HandshakeRequest.#ctor(NuGet.Versioning.SemanticVersion,NuGet.Versioning.SemanticVersion)">
            <summary>
            Initializes a new instance of the <see cref="T:NuGet.Protocol.Plugins.HandshakeRequest" /> class.
            </summary>
            <param name="protocolVersion">The requestor's plugin protocol version.</param>
            <param name="minimumProtocolVersion">The requestor's minimum plugin protocol version.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="protocolVersion" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="minimumProtocolVersion" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="protocolVersion" />
            is less than <paramref name="minimumProtocolVersion" />.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.HandshakeResponse">
            <summary>
            A handshake response.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.HandshakeResponse.ResponseCode">
            <summary>
            Gets the handshake responder's handshake response code.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.HandshakeResponse.ProtocolVersion">
            <summary>
            Gets the handshake responder's plugin protocol version if the handshake was successful;
            otherwise, <see langword="null" />.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.HandshakeResponse.#ctor(NuGet.Protocol.Plugins.MessageResponseCode,NuGet.Versioning.SemanticVersion)">
            <summary>
            Initializes a new instance of the <see cref="T:NuGet.Protocol.Plugins.HandshakeResponse" /> class.
            </summary>
            <param name="responseCode">The handshake responder's handshake response code.</param>
            <param name="protocolVersion">The handshake responder's plugin protocol version
            if the handshake was successful; otherwise, <see langword="null" />.</param>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="responseCode" />
            is an undefined <see cref="T:NuGet.Protocol.Plugins.MessageResponseCode" /> value.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="responseCode" />
            is <see cref="F:NuGet.Protocol.Plugins.MessageResponseCode.Success" /> and <paramref name="protocolVersion" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="responseCode" />
            is not <see cref="F:NuGet.Protocol.Plugins.MessageResponseCode.Success" /> and <paramref name="protocolVersion" />
            is not <see langword="null" />.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.InitializeRequest">
            <summary>
            An initialization request to a plugin.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.InitializeRequest.ClientVersion">
            <summary>
            Gets the requestor's NuGet client version.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.InitializeRequest.Culture">
            <summary>
            Gets the requestor's current culture.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.InitializeRequest.RequestTimeout">
            <summary>
            Gets the default request timeout for all subsequent requests.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.InitializeRequest.#ctor(System.String,System.String,System.TimeSpan)">
            <summary>
            Initializes a new instance of the <see cref="T:NuGet.Protocol.Plugins.InitializeRequest" /> class.
            </summary>
            <param name="clientVersion">The requestor's NuGet client version.</param>
            <param name="culture">The requestor's current culture.</param>
            <param name="requestTimeout">The default request timeout.</param>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="clientVersion" /> is either <see langword="null" />
            or an empty string.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="culture" /> is either <see langword="null" />
            or an empty string.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="requestTimeout" />
            is either less than <see cref="F:NuGet.Protocol.Plugins.ProtocolConstants.MinTimeout" /> or greater than
            <see cref="F:NuGet.Protocol.Plugins.ProtocolConstants.MaxTimeout" />.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.InitializeResponse">
            <summary>
            An initialization response from a plugin.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.InitializeResponse.ResponseCode">
            <summary>
            Gets the plugin's initialization response code.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.InitializeResponse.#ctor(NuGet.Protocol.Plugins.MessageResponseCode)">
            <summary>
            Initializes a new instance of the <see cref="T:NuGet.Protocol.Plugins.InitializeResponse" /> class.
            </summary>
            <param name="responseCode">The plugin's initialization response code.</param>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="responseCode" />
            is an undefined <see cref="T:NuGet.Protocol.Plugins.MessageResponseCode" /> value.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.LogRequest">
            <summary>
            A logging request.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.LogRequest.LogLevel">
            <summary>
            Gets the logging level for the message.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.LogRequest.Message">
            <summary>
            Gets the message.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.LogRequest.#ctor(NuGet.Common.LogLevel,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:NuGet.Protocol.Plugins.LogRequest" /> class.
            </summary>
            <param name="logLevel">The logging level for the message.</param>
            <param name="message">The message to be logged.</param>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="logLevel" /> is an undefined
            <see cref="P:NuGet.Protocol.Plugins.LogRequest.LogLevel" /> value.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="message" /> is either <see langword="null" />
            or an empty string.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.LogResponse">
            <summary>
            A logging response.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.LogResponse.ResponseCode">
            <summary>
            Gets the logging response code.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.LogResponse.#ctor(NuGet.Protocol.Plugins.MessageResponseCode)">
            <summary>
            Initializes a new instance of the <see cref="T:NuGet.Protocol.Plugins.LogResponse" /> class.
            </summary>
            <param name="responseCode">The logging response code.</param>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="responseCode" />
            is an undefined <see cref="T:NuGet.Protocol.Plugins.MessageResponseCode" /> value.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.Message">
            <summary>
            Represents a message between a NuGet client and a plugin.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.Message.RequestId">
            <summary>
            Gets the request ID.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.Message.Type">
            <summary>
            Gets the message type.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.Message.Method">
            <summary>
            Gets the message method.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.Message.Payload">
            <summary>
            Gets the optional message payload.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.Message.#ctor(System.String,NuGet.Protocol.Plugins.MessageType,NuGet.Protocol.Plugins.MessageMethod,Newtonsoft.Json.Linq.JObject)">
            <summary>
            Initializes a new instance of the <see cref="T:NuGet.Protocol.Plugins.Message" /> class.
            </summary>
            <param name="requestId">The request ID.</param>
            <param name="type">The message type.</param>
            <param name="method">The message method.</param>
            <param name="payload">An optional message payload.</param>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="requestId" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="type" />
            is an undefined <see cref="T:NuGet.Protocol.Plugins.MessageType" /> value.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="method" />
            is an undefined <see cref="T:NuGet.Protocol.Plugins.MessageMethod" /> value.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.MonitorNuGetProcessExitRequest">
            <summary>
            A request to monitor a NuGet process exit.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.MonitorNuGetProcessExitRequest.ProcessId">
            <summary>
            Gets the process ID.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.MonitorNuGetProcessExitRequest.#ctor(System.Int32)">
            <summary>
            Initializes a new <see cref="T:NuGet.Protocol.Plugins.MonitorNuGetProcessExitRequest" /> class.
            </summary>
            <param name="processId">The process ID.</param>
        </member>
        <member name="T:NuGet.Protocol.Plugins.MonitorNuGetProcessExitResponse">
            <summary>
            A response to a monitor NuGet process exit request.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.MonitorNuGetProcessExitResponse.ResponseCode">
            <summary>
            Gets the response code.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.MonitorNuGetProcessExitResponse.#ctor(NuGet.Protocol.Plugins.MessageResponseCode)">
            <summary>
            Initializes a new instance of the <see cref="T:NuGet.Protocol.Plugins.MonitorNuGetProcessExitResponse" /> class.
            </summary>
            <param name="responseCode">The plugin's response code.</param>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="responseCode" />
            is an undefined <see cref="T:NuGet.Protocol.Plugins.MessageResponseCode" /> value.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.PrefetchPackageRequest">
            <summary>
            A request to a plugin to prefetch a package.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.PrefetchPackageRequest.PackageId">
            <summary>
            Gets the package ID.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.PrefetchPackageRequest.PackageSourceRepository">
            <summary>
            Gets the package source repository location.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.PrefetchPackageRequest.PackageVersion">
            <summary>
            Gets the package version.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PrefetchPackageRequest.#ctor(System.String,System.String,System.String)">
            <summary>
            Initializes a new <see cref="T:NuGet.Protocol.Plugins.PrefetchPackageRequest" /> class.
            </summary>
            <param name="packageSourceRepository">The package source repository location.</param>
            <param name="packageId">The package ID.</param>
            <param name="packageVersion">The package version.</param>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="packageSourceRepository" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="packageId" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="packageVersion" />
            is either <see langword="null" /> or an empty string.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.PrefetchPackageResponse">
            <summary>
            A plugin's response to a package prefetch request.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.PrefetchPackageResponse.ResponseCode">
            <summary>
            Gets the plugin's response code.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PrefetchPackageResponse.#ctor(NuGet.Protocol.Plugins.MessageResponseCode)">
            <summary>
            Initializes a new instance of the <see cref="T:NuGet.Protocol.Plugins.PrefetchPackageResponse" /> class.
            </summary>
            <param name="responseCode">The plugin's response code.</param>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="responseCode" />
            is an undefined <see cref="T:NuGet.Protocol.Plugins.MessageResponseCode" /> value.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.Progress">
            <summary>
            A progress notification.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.Progress.Percentage">
            <summary>
            Gets the progress percentage.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.Progress.#ctor(System.Nullable{System.Double})">
            <summary>
            Initializes a new instance of the <see cref="T:NuGet.Protocol.Plugins.Progress" /> class.
            </summary>
            <param name="percentage">The progress percentage.</param>
        </member>
        <member name="T:NuGet.Protocol.Plugins.SetCredentialsRequest">
            <summary>
            A request to set credentials for a package source with any last known good credentials.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.SetCredentialsRequest.PackageSourceRepository">
            <summary>
            Gets the package source repository location.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.SetCredentialsRequest.Password">
            <summary>
            Gets the package source repository password.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.SetCredentialsRequest.ProxyPassword">
            <summary>
            Gets the proxy password.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.SetCredentialsRequest.ProxyUsername">
            <summary>
            Gets the proxy username.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.SetCredentialsRequest.Username">
            <summary>
            Gets the package source repository username.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.SetCredentialsRequest.#ctor(System.String,System.String,System.String,System.String,System.String)">
            <summary>
            Initializes a new <see cref="T:NuGet.Protocol.Plugins.SetCredentialsRequest" /> class.
            </summary>
            <param name="packageSourceRepository">The package source repository location.</param>
            <param name="proxyUsername">The proxy username.</param>
            <param name="proxyPassword">The proxy password.</param>
            <param name="username">The package source repository username.</param>
            <param name="password">The package source repository password.</param>
        </member>
        <member name="T:NuGet.Protocol.Plugins.SetCredentialsResponse">
            <summary>
            A plugin's response to a set credentials request.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.SetCredentialsResponse.ResponseCode">
            <summary>
            Gets the plugin's response code.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.SetCredentialsResponse.#ctor(NuGet.Protocol.Plugins.MessageResponseCode)">
            <summary>
            Initializes a new instance of the <see cref="T:NuGet.Protocol.Plugins.SetCredentialsResponse" /> class.
            </summary>
            <param name="responseCode">The plugin's response code.</param>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="responseCode" />
            is an undefined <see cref="T:NuGet.Protocol.Plugins.MessageResponseCode" /> value.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.SetLogLevelRequest">
            <summary>
            A request to set the log level.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.SetLogLevelRequest.LogLevel">
            <summary>
            Gets the log level.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.SetLogLevelRequest.#ctor(NuGet.Common.LogLevel)">
            <summary>
            Initializes a new <see cref="T:NuGet.Protocol.Plugins.SetLogLevelRequest" /> class.
            </summary>
            <param name="logLevel">The log level.</param>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="logLevel" /> is an undefined
            <see cref="P:NuGet.Protocol.Plugins.SetLogLevelRequest.LogLevel" /> value.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.SetLogLevelResponse">
            <summary>
            A response to a log level set request.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.SetLogLevelResponse.ResponseCode">
            <summary>
            Gets the response code.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.SetLogLevelResponse.#ctor(NuGet.Protocol.Plugins.MessageResponseCode)">
            <summary>
            Initializes a new <see cref="T:NuGet.Protocol.Plugins.SetLogLevelResponse" /> class.
            </summary>
            <param name="responseCode">The response code.</param>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="responseCode" />
            is an undefined <see cref="T:NuGet.Protocol.Plugins.MessageResponseCode" /> value.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.MessageType">
            <summary>
            Message types.
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Plugins.MessageType.Cancel">
            <summary>
            A cancellation request for an existing request.
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Plugins.MessageType.Fault">
            <summary>
            A fault notification, either standalone or for an existing request.
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Plugins.MessageType.Progress">
            <summary>
            A progress notification for an existing request.
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Plugins.MessageType.Request">
            <summary>
            A request.
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Plugins.MessageType.Response">
            <summary>
            A response for an existing request.
            </summary>
        </member>
        <member name="T:NuGet.Protocol.Plugins.MessageUtilities">
            <summary>
            Helper methods for messages.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.MessageUtilities.Create(System.String,NuGet.Protocol.Plugins.MessageType,NuGet.Protocol.Plugins.MessageMethod)">
            <summary>
            Instantiates a new <see cref="T:NuGet.Protocol.Plugins.Message" /> class.
            </summary>
            <param name="requestId">The message request ID.</param>
            <param name="type">The message type.</param>
            <param name="method">The message method.</param>
            <returns>a <see cref="T:NuGet.Protocol.Plugins.Message" /> instance.</returns>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="requestId" />
            is either <see langword="null" /> or an empty string.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.MessageUtilities.Create``1(System.String,NuGet.Protocol.Plugins.MessageType,NuGet.Protocol.Plugins.MessageMethod,``0)">
            <summary>
            Instantiates a new <see cref="T:NuGet.Protocol.Plugins.Message" /> class.
            </summary>
            <typeparam name="TPayload">The message payload type.</typeparam>
            <param name="requestId">The message request ID.</param>
            <param name="type">The message type.</param>
            <param name="method">The message method.</param>
            <param name="payload">The message payload.</param>
            <returns>a <see cref="T:NuGet.Protocol.Plugins.Message" /> instance.</returns>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="requestId" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="payload" /> is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.MessageUtilities.DeserializePayload``1(NuGet.Protocol.Plugins.Message)">
            <summary>
            Deserializes a message payload.
            </summary>
            <typeparam name="TPayload">The message payload type.</typeparam>
            <param name="message">The message.</param>
            <returns>The deserialized message payload of type <typeparamref name="TPayload" />
            or <see langword="null" /> if no payload exists.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="message" /> is <see langword="null" />.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.NoOpDisposePlugin">
            <summary>
            A plugin wrapper that no-ops IDisposable.
            </summary>
        </member>
        <member name="E:NuGet.Protocol.Plugins.NoOpDisposePlugin.BeforeClose">
            <summary>
            Occurs before the plugin closes.
            </summary>
        </member>
        <member name="E:NuGet.Protocol.Plugins.NoOpDisposePlugin.Closed">
            <summary>
            Occurs when the plugin has closed.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.NoOpDisposePlugin.Connection">
            <summary>
            Gets the connection for the plugin.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.NoOpDisposePlugin.FilePath">
            <summary>
            Gets the file path for the plugin.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.NoOpDisposePlugin.Id">
            <summary>
            Gets the unique identifier for the plugin.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.NoOpDisposePlugin.Name">
            <summary>
            Gets the name of the plugin.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.NoOpDisposePlugin.#ctor(NuGet.Protocol.Plugins.IPlugin)">
            <summary>
            Instantiates a new <see cref="T:NuGet.Protocol.Plugins.NoOpDisposePlugin" /> class.
            </summary>
            <param name="plugin">A plugin</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="plugin" /> is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.NoOpDisposePlugin.Dispose">
            <summary>
            Does nothing.
            </summary>
            <remarks>Plugin disposal is implemented elsewhere.</remarks>
        </member>
        <member name="M:NuGet.Protocol.Plugins.NoOpDisposePlugin.Close">
            <summary>
            Closes the plugin.
            </summary>
            <remarks>This does not call <see cref="M:System.IDisposable.Dispose" />.</remarks>
        </member>
        <member name="T:NuGet.Protocol.Plugins.OperationClaim">
            <summary>
            Plugin operation claims.
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Plugins.OperationClaim.DownloadPackage">
            <summary>
            The download package operation claim.
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Plugins.OperationClaim.Authentication">
            <summary>
            The authentication operation claim
            </summary>
        </member>
        <member name="T:NuGet.Protocol.Plugins.OutboundRequestContext">
            <summary>
            Context for an outbound request.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.OutboundRequestContext.CancellationToken">
            <summary>
            Gets the <see cref="P:NuGet.Protocol.Plugins.OutboundRequestContext.CancellationToken" />.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.OutboundRequestContext.RequestId">
            <summary>
            Gets the request ID.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.OutboundRequestContext.Dispose">
            <summary>
            Disposes of this instance.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.OutboundRequestContext.HandleCancelResponse">
            <summary>
            Handles a cancellation response for the outbound request.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.OutboundRequestContext.HandleProgress(NuGet.Protocol.Plugins.Message)">
            <summary>
            Handles progress notifications for the outbound request.
            </summary>
            <param name="progress">A progress notification.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="progress" /> is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.OutboundRequestContext.HandleResponse(NuGet.Protocol.Plugins.Message)">
            <summary>
            Handles a response for the outbound request.
            </summary>
            <param name="response">A response.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="response" /> is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.OutboundRequestContext.HandleFault(NuGet.Protocol.Plugins.Message)">
            <summary>
            Handles a fault response for the outbound request.
            </summary>
            <param name="fault">A fault response.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="fault" /> is <see langword="null" />.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.OutboundRequestContext`1">
            <summary>
            Context for an outbound request.
            </summary>
            <typeparam name="TResult">The response payload type.</typeparam>
        </member>
        <member name="P:NuGet.Protocol.Plugins.OutboundRequestContext`1.CompletionTask">
            <summary>
            Gets the completion task.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.OutboundRequestContext`1.#ctor(NuGet.Protocol.Plugins.IConnection,NuGet.Protocol.Plugins.Message,System.Nullable{System.TimeSpan},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Initializes a new <see cref="T:NuGet.Protocol.Plugins.OutboundRequestContext`1" /> class.
            </summary>
            <param name="connection">A connection.</param>
            <param name="request">A request.</param>
            <param name="timeout">An optional request timeout.</param>
            <param name="isKeepAlive">A flag indicating whether or not the request supports progress notifications
            to reset the request timeout.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="connection" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="request" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.OutboundRequestContext`1.#ctor(NuGet.Protocol.Plugins.IConnection,NuGet.Protocol.Plugins.Message,System.Nullable{System.TimeSpan},System.Boolean,System.Threading.CancellationToken,NuGet.Protocol.Plugins.IPluginLogger)">
            <summary>
            Initializes a new <see cref="T:NuGet.Protocol.Plugins.OutboundRequestContext`1" /> class.
            </summary>
            <param name="connection">A connection.</param>
            <param name="request">A request.</param>
            <param name="timeout">An optional request timeout.</param>
            <param name="isKeepAlive">A flag indicating whether or not the request supports progress notifications
            to reset the request timeout.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <param name="logger">A plugin logger.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="connection" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="request" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" />
            is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.OutboundRequestContext`1.HandleCancelResponse">
            <summary>
            Handles a cancellation response for the outbound request.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.OutboundRequestContext`1.HandleProgress(NuGet.Protocol.Plugins.Message)">
            <summary>
            Handles progress notifications for the outbound request.
            </summary>
            <param name="progress">A progress notification.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="progress" /> is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.OutboundRequestContext`1.HandleResponse(NuGet.Protocol.Plugins.Message)">
            <summary>
            Handles a response for the outbound request.
            </summary>
            <param name="response">A response.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="response" /> is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.OutboundRequestContext`1.HandleFault(NuGet.Protocol.Plugins.Message)">
            <summary>
            Handles a fault response for the outbound request.
            </summary>
            <param name="fault">A fault response.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="fault" /> is <see langword="null" />.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.Plugin">
            <summary>
            Represents a plugin.
            </summary>
        </member>
        <member name="E:NuGet.Protocol.Plugins.Plugin.BeforeClose">
            <summary>
            Occurs before the plugin closes.
            </summary>
        </member>
        <member name="E:NuGet.Protocol.Plugins.Plugin.Closed">
            <summary>
            Occurs when the plugin has closed.
            </summary>
        </member>
        <member name="E:NuGet.Protocol.Plugins.Plugin.Exited">
            <summary>
            Occurs when a plugin process has exited.
            </summary>
        </member>
        <member name="E:NuGet.Protocol.Plugins.Plugin.Faulted">
            <summary>
            Occurs when a plugin or plugin connection has faulted.
            </summary>
        </member>
        <member name="E:NuGet.Protocol.Plugins.Plugin.Idle">
            <summary>
            Occurs when a plugin has been idle for the configured idle timeout period.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.Plugin.Connection">
            <summary>
            Gets the connection for the plugin
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.Plugin.FilePath">
            <summary>
            Gets the file path for the plugin.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.Plugin.Id">
            <summary>
            Gets the unique identifier for the plugin.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.Plugin.Name">
            <summary>
            Gets the name of the plugin.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.Plugin.#ctor(System.String,NuGet.Protocol.Plugins.IConnection,NuGet.Protocol.Plugins.IPluginProcess,System.Boolean,System.TimeSpan)">
            <summary>
            Instantiates a new <see cref="T:NuGet.Protocol.Plugins.Plugin" /> class.
            </summary>
            <param name="filePath">The plugin file path.</param>
            <param name="connection">The plugin connection.</param>
            <param name="process">The plugin process.</param>
            <param name="isOwnProcess"><see langword="true" /> if <paramref name="process" /> is the current process;
            otherwise, <see langword="false" />.</param>
            <param name="idleTimeout">The plugin idle timeout.  Can be <see cref="F:System.Threading.Timeout.InfiniteTimeSpan" />.</param>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="filePath" /> is either <see langword="null" />
            or an empty string.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="connection" /> is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="process" /> is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="idleTimeout" /> is smaller than
            <see cref="F:System.Threading.Timeout.InfiniteTimeSpan" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.Plugin.Dispose">
            <summary>
            Disposes of this instance.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.Plugin.Close">
            <summary>
            Closes the plugin.
            </summary>
            <remarks>This does not call <see cref="M:System.IDisposable.Dispose" />.</remarks>
        </member>
        <member name="T:NuGet.Protocol.Plugins.PluginCacheEntry">
            <summary>
            This class represents a plugin operations cache entry.
            It contains expiry logic, read/write/update logic.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginCacheEntry.#ctor(System.String,System.String,System.String)">
            <summary>
            Create a plugin cache entry.
            </summary>
            <param name="rootCacheFolder">The root cache folder, normally /localappdata/nuget/plugins-cache</param>
            <param name="pluginFilePath">The full plugin file path, which will be used to create a key for the folder created in the root folder itself </param>
            <param name="requestKey">A unique request key for the operation claims. Ideally the packageSourceRepository value of the PluginRequestKey. Example https://protected.package.feed/index.json, or Source-Agnostic</param>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginCacheEntry.LoadFromFile">
            <summary>
            Loads and processes the contet from the generated file if it exists.
            Even after this method is invoked, the operation claims might be null. 
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginCacheEntry.UpdateCacheFileAsync">
            <summary>
            Updates the cache file with the current value in the operation claims if the operationn claims is not null.
            </summary>
            <returns>Task</returns>
        </member>
        <member name="T:NuGet.Protocol.Plugins.PluginConstants">
            <summary>
            Plugin constants.
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Plugins.PluginConstants.CloseTimeout">
            <summary>
            Default close timeout for plugins.
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Plugins.PluginConstants.IdleTimeout">
            <summary>
            Default idle timeout for plugins.
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Plugins.PluginConstants.PluginArguments">
            <summary>
            Default command-line arguments for plugins.
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Plugins.PluginConstants.ProgressInterval">
            <summary>
            The progress notification interval.
            </summary>
            <remarks>This value must be less than half of <see cref="F:NuGet.Protocol.Plugins.PluginConstants.RequestTimeout" />.</remarks>
        </member>
        <member name="F:NuGet.Protocol.Plugins.PluginConstants.RequestTimeout">
            <summary>
            The default request timeout set by an initialize request after handshaking.
            </summary>
        </member>
        <member name="T:NuGet.Protocol.Plugins.PluginCreationResult">
            <summary>
            A plugin's creation result.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.PluginCreationResult.Claims">
            <summary>
            Gets the plugin's operation claims.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.PluginCreationResult.Message">
            <summary>
            Gets a message if <see cref="P:NuGet.Protocol.Plugins.PluginCreationResult.Plugin" /> is <see langword="null" />; otherwise, <see langword="null" />.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.PluginCreationResult.Exception">
            <summary>
            Gets the exception caught.  May be <see langword="null" />.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.PluginCreationResult.Plugin">
            <summary>
            Gets a plugin.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.PluginCreationResult.PluginMulticlientUtilities">
            <summary>
            Gets a plugin multiclient utilities.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginCreationResult.#ctor(NuGet.Protocol.Plugins.IPlugin,NuGet.Protocol.Plugins.IPluginMulticlientUtilities,System.Collections.Generic.IReadOnlyList{NuGet.Protocol.Plugins.OperationClaim})">
            <summary>
            Instantiates a new <see cref="T:NuGet.Protocol.Plugins.PluginCreationResult" /> class.
            </summary>
            <param name="plugin">A plugin.</param>
            <param name="utilities">A plugin multiclient utilities.</param>
            <param name="claims">The plugin's operation claims.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="plugin" /> is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="utilities" /> is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="claims" /> is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginCreationResult.#ctor(System.String)">
            <summary>
            Instantiates a new <see cref="T:NuGet.Protocol.Plugins.PluginCreationResult" /> class.
            </summary>
            <param name="message">A message why a plugin could not be created.</param>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="message" />
            is either <see langword="null" /> or an empty string.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginCreationResult.#ctor(System.String,System.Exception)">
            <summary>
            Instantiates a new <see cref="T:NuGet.Protocol.Plugins.PluginCreationResult" /> class.
            </summary>
            <param name="message">A message why a plugin could not be created.</param>
            <param name="exception">An exception.</param>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="message" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="exception" /> is <see langword="null" />.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.PluginDiscoverer">
            <summary>
            Discovers plugins and their operation claims.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginDiscoverer.Dispose">
            <summary>
            Disposes of this instance.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginDiscoverer.DiscoverAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously discovers plugins.
            </summary>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns a
            <see cref="T:System.Collections.Generic.IEnumerable`1" /> from the target.</returns>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginDiscoverer.GetPluginsInNuGetPluginPaths">
            <summary>
            Retrieves authentication plugins by searching through directories and files specified in the `NuGET_PLUGIN_PATHS`
            environment variable. The method looks for files prefixed with 'nuget-plugin-' and verifies their validity for .net tools plugins.
            </summary>
            <returns>A list of valid <see cref="T:NuGet.Protocol.Plugins.PluginFile"/> objects representing the discovered plugins.</returns>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginDiscoverer.GetPluginsInPath">
            <summary>
            Retrieves .NET tools authentication plugins by searching through directories specified in `PATH`
            </summary>
            <returns>A list of valid <see cref="T:NuGet.Protocol.Plugins.PluginFile"/> objects representing the discovered plugins.</returns>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginDiscoverer.IsValidPluginFile(System.IO.FileInfo)">
            <summary>
            Checks whether a file is a valid plugin file for windows/Unix.
            Windows: It should be either .bat or  .exe
            Unix: It should be executable
            </summary>
            <param name="fileInfo"></param>
            <returns></returns>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginDiscoverer.IsExecutable(System.IO.FileInfo)">
            <summary>
            Checks whether a file is executable or not in Unix.
            This is done by running bash code: `if [ -x {fileInfo.FullName} ]; then echo yes; else echo no; fi`
            </summary>
            <param name="fileInfo"></param>
            <returns></returns>
        </member>
        <member name="T:NuGet.Protocol.Plugins.PluginDiscoveryResult">
            <summary>
            A plugin discovery result.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.PluginDiscoveryResult.PluginFile">
            <summary>
            Gets the plugin file.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.PluginDiscoveryResult.Message">
            <summary>
            Gets a message if <see cref="P:NuGet.Protocol.Plugins.PluginFile.State" /> is not <see cref="F:NuGet.Protocol.Plugins.PluginFileState.Valid" />;
            otherwise, <see langword="null" />.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginDiscoveryResult.#ctor(NuGet.Protocol.Plugins.PluginFile)">
            <summary>
            Instantiates a new <see cref="T:NuGet.Protocol.Plugins.PluginDiscoveryResult" /> class.
            </summary>
            <param name="pluginFile">A plugin file.</param>
            <see cref="F:NuGet.Protocol.Plugins.PluginFileState.Valid" />; otherwise, <see langword="null" />
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="pluginFile" />
            is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginDiscoveryUtility.GetInternalPlugins">
            <summary>
            The internal plugins located next to the NuGet assemblies.
            </summary>
            <returns>Internal plugins</returns>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginDiscoveryUtility.GetInternalPluginRelativeToMSBuildDirectory(System.String)">
            <summary>
            Given Visual Studio 2017 or later MSBuild directory path, return the NuGet plugins directory which is in CommonExtensions\NuGet\Plugins
            </summary>
            <param name="msbuildDirectoryPath">The MsBuildExe directory path. Needs to be a valid path. file:// not supported.</param>
            <returns>The NuGet plugins directory, null if <paramref name="msbuildDirectoryPath"/> is null</returns>
            <remarks>The MSBuild.exe is in MSBuild\Current\Bin, the Plugins directory is in Common7\IDE\CommonExtensions\Microsoft\NuGet\Plugins</remarks>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginDiscoveryUtility.GetNuGetPluginsDirectoryRelativeToNuGetAssembly(System.String)">
            <summary>
            Given a NuGet assembly path, returns the NuGet plugins directory
            </summary>
            <param name="nugetAssemblyPath">The path to a NuGet assembly in CommonExtensions\NuGet, needs to be a valid path. file:// not supported</param>
            <returns>The NuGet plugins directory in CommonExtensions\NuGet\Plugins, null if the <paramref name="nugetAssemblyPath"/> is null</returns>
        </member>
        <member name="T:NuGet.Protocol.Plugins.PluginEventArgs">
            <summary>
            Plugin event arguments.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.PluginEventArgs.Plugin">
            <summary>
            Gets the plugin.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginEventArgs.#ctor(NuGet.Protocol.Plugins.IPlugin)">
            <summary>
            Instantiates a new <see cref="T:NuGet.Protocol.Plugins.PluginEventArgs" /> class.
            </summary>
            <param name="plugin">A plugin.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="plugin" /> is <see langword="null" />.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.PluginException">
            <summary>
            A plugin exception.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginException.#ctor(System.String)">
            <summary>
            Instantiates a new <see cref="T:NuGet.Protocol.Plugins.PluginException" /> class.
            </summary>
            <param name="message">The exception message.</param>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginException.#ctor(System.String,System.Exception)">
            <summary>
            Instantiates a new <see cref="T:NuGet.Protocol.Plugins.PluginException" /> class.
            </summary>
            <param name="message">The exception message.</param>
            <param name="innerException">The inner exception.</param>
        </member>
        <member name="T:NuGet.Protocol.Plugins.PluginFactory">
            <summary>
            A plugin factory.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginFactory.#ctor(System.TimeSpan)">
            <summary>
            Instantiates a new <see cref="T:NuGet.Protocol.Plugins.PluginFactory" /> class.
            </summary>
            <param name="pluginIdleTimeout">The plugin idle timeout.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="pluginIdleTimeout" />
            is less than <see cref="F:System.Threading.Timeout.InfiniteTimeSpan" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginFactory.Dispose">
            <summary>
            Disposes of this instance.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginFactory.GetOrCreateAsync(NuGet.Protocol.Plugins.PluginFile,System.Collections.Generic.IEnumerable{System.String},NuGet.Protocol.Plugins.IRequestHandlers,NuGet.Protocol.Plugins.ConnectionOptions,System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets an existing plugin instance or creates a new instance and connects to it.
            </summary>
            <param name="pluginFile">A plugin file.</param>
            <param name="arguments">Command-line arguments to be supplied to the plugin.</param>
            <param name="requestHandlers">Request handlers.</param>
            <param name="options">Connection options.</param>
            <param name="sessionCancellationToken">A cancellation token for the plugin's lifetime.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns a <see cref="T:NuGet.Protocol.Plugins.Plugin" />
            instance.</returns>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="pluginFile.Path.Path" />
            is either <see langword="null" /> or empty.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="arguments" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="requestHandlers" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="options" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="sessionCancellationToken" />
            is cancelled.</exception>
            <exception cref="T:System.ObjectDisposedException">Thrown if this object is disposed.</exception>
            <exception cref="T:NuGet.Protocol.Plugins.ProtocolException">Thrown if a plugin protocol error occurs.</exception>
            <exception cref="T:NuGet.Protocol.Plugins.PluginException">Thrown for a plugin failure during creation.</exception>
            <remarks>This is intended to be called by NuGet client tools.</remarks>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginFactory.CreateFromCurrentProcessAsync(NuGet.Protocol.Plugins.IRequestHandlers,NuGet.Protocol.Plugins.ConnectionOptions,System.Threading.CancellationToken)">
            <summary>
            Asynchronously creates a plugin instance and connects to it.
            </summary>
            <param name="requestHandlers">Request handlers.</param>
            <param name="options">Connection options.</param>
            <param name="sessionCancellationToken">A cancellation token for the plugin's lifetime.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns a <see cref="T:NuGet.Protocol.Plugins.Plugin" />
            instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="requestHandlers" />
            is either <see langword="null" /> or empty.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="options" />
            is either <see langword="null" /> or empty.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="sessionCancellationToken" />
            is cancelled.</exception>
            <remarks>This is intended to be called by a plugin.</remarks>
        </member>
        <member name="T:NuGet.Protocol.Plugins.PluginFile">
            <summary>
            Represents a plugin file.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.PluginFile.Path">
            <summary>
            Gets the plugin's file path.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.PluginFile.State">
            <summary>
            Gets the plugin file state.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.PluginFile.RequiresDotnetHost">
            <summary>
            Indicates if the plugin file requires a dotnet host.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginFile.#ctor(System.String,System.Lazy{NuGet.Protocol.Plugins.PluginFileState},System.Boolean)">
            <summary>
            Instantiates a new <see cref="T:NuGet.Protocol.Plugins.PluginFile" /> class.
            </summary>
            <param name="filePath">The plugin's file path.</param>
            <param name="state">A lazy that evaluates the plugin file state.</param>
            <param name="requiresDotnetHost">Indicates if the plugin file requires a dotnet host.</param>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginFile.#ctor(System.String,System.Lazy{NuGet.Protocol.Plugins.PluginFileState})">
            <summary>
            Instantiates a new <see cref="T:NuGet.Protocol.Plugins.PluginFile" /> class.
            The plug-in will be executed directly.
            If it needs to run under the dotnet host, use <see cref="M:NuGet.Protocol.Plugins.PluginFile.#ctor(System.String,System.Lazy{NuGet.Protocol.Plugins.PluginFileState},System.Boolean)" /> and specify <see langword="true" /> for the <c>requiresDotnetHost</c> parameter.
            </summary>
            <param name="filePath">The plugin's file path.</param>
            <param name="state">A lazy that evaluates the plugin file state.</param>
        </member>
        <member name="T:NuGet.Protocol.Plugins.PluginFileState">
            <summary>
            State of a plugin file path.
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Plugins.PluginFileState.Valid">
            <summary>
            The file exists and has a valid embedded signature.
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Plugins.PluginFileState.NotFound">
            <summary>
            The file was not found.
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Plugins.PluginFileState.InvalidFilePath">
            <summary>
            The file path was invalid (e.g.:  not rooted).
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Plugins.PluginFileState.InvalidEmbeddedSignature">
            <summary>
            The file exists but it has either no embedded signature or an invalid embedded signature.
            </summary>
            <remarks>No longer used.</remarks>
        </member>
        <member name="T:NuGet.Protocol.Plugins.PluginManager">
            <summary>
            A plugin manager. This manages all the live plugins and their operation claims.
            Invoked in by both the credential provider and the PluginResourceProvider
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.PluginManager.EnvironmentVariableReader">
            <summary>
            Gets an environment variable reader.
            </summary>
            <remarks>This is non-private only to facilitate testing.</remarks>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginManager.Dispose">
            <summary>
            Disposes of this instance.
            This should not be called in production code as this is a singleton instance.
            The pattern is implemented because the plugin manager transitively owns objects
            that need to implement IDisposable because they potentially have managed and unmanaged resources.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginManager.FindAvailablePluginsAsync(System.Threading.CancellationToken)">
            <summary>
            Find all available plugins on the machine
            </summary>
            <param name="cancellationToken"></param>
            <returns>PluginDiscoveryResults</returns>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginManager.CreatePluginsAsync(NuGet.Protocol.Core.Types.SourceRepository,System.Threading.CancellationToken)">
            <summary>
            Create plugins appropriate for the given source
            </summary>
            <param name="source"></param>
            <param name="cancellationToken"></param>
            <exception cref="T:System.ArgumentNullException">Throw if <paramref name="source"/> is null </exception>
            <returns>PluginCreationResults</returns>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginManager.TryGetSourceAgnosticPluginAsync(NuGet.Protocol.Plugins.PluginDiscoveryResult,NuGet.Protocol.Plugins.OperationClaim,System.Threading.CancellationToken)">
            <summary>
            Creates a plugin from the given pluginDiscoveryResult.
            This plugin's operations will be source agnostic ones (Authentication)
            </summary>
            <param name="pluginDiscoveryResult">plugin discovery result</param>
            <param name="requestedOperationClaim">The requested operation claim</param>
            <param name="cancellationToken">cancellation token</param>
            <returns>A plugin creation result, null if the requested plugin cannot handle the given operation claim</returns>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginManager.TryCreatePluginAsync(NuGet.Protocol.Plugins.PluginDiscoveryResult,NuGet.Protocol.Plugins.OperationClaim,NuGet.Protocol.Plugins.PluginManager.PluginRequestKey,System.String,Newtonsoft.Json.Linq.JObject,System.Threading.CancellationToken)">
            <summary>
            Creates a plugin from the discovered plugin.
            We firstly check the cache for the operation claims for the given request key.
            If there is a valid cache entry, and it does contain the requested operation claim, then we start the plugin, and if need be update the cache value itself.
            If there is a valid cache entry, and it does NOT contain the requested operation claim, then we return a null.
            If there is no valid cache entry or an invalid one, we start the plugin as normally, return an active plugin even if the requested claim is not available, and write a cache entry.
            </summary>
            <param name="result">plugin discovery result</param>
            <param name="requestedOperationClaim">The requested operation claim</param>
            <param name="requestKey">plugin request key</param>
            <param name="packageSourceRepository">package source repository</param>
            <param name="serviceIndex">service index</param>
            <param name="cancellationToken">cancellation token</param>
            <returns>A plugin creation result, null if the requested plugin cannot handle the given operation claim</returns>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginManager.GetCurrentCultureName">
            <summary>
            Gets the current culture.
            An invariant culture's name will be "". Since InitializeRequest has a null or empty check, this can be a problem.
            Because the InitializeRequest message is part of a protocol, and the reason why we set the culture is allow the plugins to localize their messages,
            we can safely default to en.
            </summary>
            <returns>CurrentCulture or an en default if the current culture is invariant</returns>
        </member>
        <member name="T:NuGet.Protocol.Plugins.PluginMulticlientUtilities">
            <summary>
            Plugin multiclient utilities.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginMulticlientUtilities.#ctor">
            <summary>
            Initializes a new <see cref="T:NuGet.Protocol.Plugins.PluginMulticlientUtilities" /> class.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginMulticlientUtilities.DoOncePerPluginLifetimeAsync(System.String,System.Func{System.Threading.Tasks.Task},System.Threading.CancellationToken)">
            <summary>
            Asynchronously executes a task once per plugin lifetime per key.
            </summary>
            <param name="key">A key that identifies the task.</param>
            <param name="taskFunc">A function that returns a task.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.</returns>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="key" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="taskFunc" />
            is either <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.PluginPackageDownloader">
            <summary>
            A package downloader that delegates to a plugin.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.PluginPackageDownloader.ContentReader">
            <summary>
            Gets an asynchronous package content reader.
            </summary>
            <exception cref="T:System.ObjectDisposedException">Thrown if this object is disposed.</exception>
        </member>
        <member name="P:NuGet.Protocol.Plugins.PluginPackageDownloader.CoreReader">
            <summary>
            Gets an asynchronous package core reader.
            </summary>
            <exception cref="T:System.ObjectDisposedException">Thrown if this object is disposed.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageDownloader.#ctor(NuGet.Protocol.Plugins.IPlugin,NuGet.Packaging.Core.PackageIdentity,NuGet.Protocol.Plugins.PluginPackageReader,System.String)">
            <summary>
            Initializes a new <see cref="T:NuGet.Protocol.Plugins.PluginPackageDownloader" /> class.
            </summary>
            <param name="plugin">A plugin.</param>
            <param name="packageIdentity">A package identity.</param>
            <param name="packageReader">A plugin package reader.</param>
            <param name="packageSourceRepository">A package source repository location.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="plugin" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="packageIdentity" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="packageReader" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="packageSourceRepository" />
            is either <see langword="null" /> or an empty string.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageDownloader.Dispose">
            <summary>
            Disposes of this instance.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageDownloader.CopyNupkgFileToAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously copies a .nupkg to a target file path.
            </summary>
            <param name="destinationFilePath">The destination file path.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns a <see cref="T:System.Boolean" />
            indicating whether or not the copy was successful.</returns>
            <exception cref="T:System.ObjectDisposedException">Thrown if this object is disposed.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="destinationFilePath" />
            is either <see langword="null" /> or empty.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageDownloader.GetPackageHashAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets a package hash.
            </summary>
            <param name="hashAlgorithm">The hash algorithm.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns a <see cref="T:System.String" />
            representing the package hash.</returns>
            <exception cref="T:System.ObjectDisposedException">Thrown if this object is disposed.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="hashAlgorithm" />
            is either <see langword="null" /> or empty.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageDownloader.SetExceptionHandler(System.Func{System.Exception,System.Threading.Tasks.Task{System.Boolean}})">
            <summary>
            Sets an exception handler for package downloads.
            </summary>
            <remarks>The exception handler returns a task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns a <see cref="T:System.Boolean" />
            indicating whether or not the exception was handled.  To handle an exception and stop its
            propagation, the task should return <see langword="true" />.  Otherwise, the exception will be rethrown.</remarks>
            <param name="handleExceptionAsync">An exception handler.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="handleExceptionAsync" />
            is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageDownloader.SetThrottle(System.Threading.SemaphoreSlim)">
            <summary>
            Sets a throttle for package downloads.
            </summary>
            <param name="throttle">A throttle.  Can be <see langword="null" />.</param>
        </member>
        <member name="T:NuGet.Protocol.Plugins.PluginPackageReader">
            <summary>
            A package reader that delegates package read operations to a plugin.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.#ctor(NuGet.Protocol.Plugins.IPlugin,NuGet.Packaging.Core.PackageIdentity,System.String)">
            <summary>
            Initializes a new <see cref="T:NuGet.Protocol.Plugins.PluginPackageReader" /> class.
            </summary>
            <param name="plugin">A plugin.</param>
            <param name="packageIdentity">A package identity.</param>
            <param name="packageSourceRepository">A package source repository location.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="plugin" /> is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="packageIdentity" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="packageSourceRepository" />
            is either <see langword="null" /> or an empty string.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.GetStream(System.String)">
            <summary>
            Gets a stream for a file in the package.
            </summary>
            <param name="path">The file path in the package.</param>
            <returns>A stream.</returns>
            <exception cref="T:System.NotSupportedException">Thrown always.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.GetStreamAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets a stream for a file in the package.
            </summary>
            <param name="path">The file path in the package.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns a <see cref="T:System.IO.Stream" />.</returns>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="path" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.GetFiles">
            <summary>
            Gets files in the package.
            </summary>
            <returns>An enumerable of files in the package.</returns>
            <exception cref="T:System.NotSupportedException">Thrown always.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.GetFilesAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets files in the package.
            </summary>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:System.Collections.Generic.IEnumerable`1" />.</returns>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.GetFiles(System.String)">
            <summary>
            Gets files in the package.
            </summary>
            <param name="folder">A folder in the package.</param>
            <returns>An enumerable of files in the package.</returns>
            <exception cref="T:System.NotSupportedException">Thrown always.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.GetFilesAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets files in the package under the specified folder.
            </summary>
            <param name="folder">A folder in the package.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:System.Collections.Generic.IEnumerable`1" />.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="folder" /> is <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.CopyFiles(System.String,System.Collections.Generic.IEnumerable{System.String},NuGet.Packaging.Core.ExtractPackageFileDelegate,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Copies specified files in the package to the destination location.
            </summary>
            <param name="destination">A directory path to copy files to.</param>
            <param name="packageFiles">An enumerable of files in the package to copy.</param>
            <param name="extractFile">A package file extraction delegate.</param>
            <param name="logger">A logger.</param>
            <param name="token">A cancellation token.</param>
            <returns>An enumerable of file paths in the destination location.</returns>
            <exception cref="T:System.NotSupportedException">Thrown always.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.CopyFilesAsync(System.String,System.Collections.Generic.IEnumerable{System.String},NuGet.Packaging.Core.ExtractPackageFileDelegate,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Asynchronously copies specified files in the package to the destination location.
            </summary>
            <param name="destination">A directory path to copy files to.</param>
            <param name="packageFiles">An enumerable of files in the package to copy.</param>
            <param name="extractFile">A package file extraction delegate.</param>
            <param name="logger">A logger.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:System.Collections.Generic.IEnumerable`1" />.</returns>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="destination" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="packageFiles" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> is <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.GetIdentity">
            <summary>
            Gets the package identity.
            </summary>
            <returns>A package identity.</returns>
            <exception cref="T:System.NotSupportedException">Thrown always.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.GetIdentityAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets the package identity.
            </summary>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:NuGet.Packaging.Core.PackageIdentity" />.</returns>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.GetMinClientVersion">
            <summary>
            Gets the minimum client version in the .nuspec.
            </summary>
            <returns>A NuGet version.</returns>
            <exception cref="T:System.NotSupportedException">Thrown always.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.GetMinClientVersionAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets the minimum client version in the .nuspec.
            </summary>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:NuGet.Versioning.NuGetVersion" />.</returns>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.GetPackageTypes">
            <summary>
            Gets the package types.
            </summary>
            <returns>A read-only list of package types.</returns>
            <exception cref="T:System.NotSupportedException">Thrown always.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.GetPackageTypesAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets the package types.
            </summary>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:System.Collections.Generic.IReadOnlyList`1" />.</returns>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.GetNuspec">
            <summary>
            Gets a stream for the .nuspec file.
            </summary>
            <returns>A stream.</returns>
            <exception cref="T:System.NotSupportedException">Thrown always.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.GetNuspecAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets a stream for the .nuspec file.
            </summary>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns a <see cref="T:System.IO.Stream" />.</returns>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.GetNuspecFile">
            <summary>
            Gets the .nuspec file path in the package.
            </summary>
            <returns>The .nuspec file path in the package.</returns>
            <exception cref="T:System.NotSupportedException">Thrown always.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.GetNuspecFileAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets the .nuspec file path in the package.
            </summary>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns a <see cref="T:System.String" />.</returns>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="P:NuGet.Protocol.Plugins.PluginPackageReader.NuspecReader">
            <summary>
            Gets the .nuspec reader.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.GetNuspecReaderAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets the .nuspec reader.
            </summary>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns a <see cref="P:NuGet.Protocol.Plugins.PluginPackageReader.NuspecReader" />.</returns>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.GetSupportedFrameworks">
            <summary>
            Gets supported frameworks.
            </summary>
            <returns>An enumerable of NuGet frameworks.</returns>
            <exception cref="T:System.NotSupportedException">Thrown always.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.GetSupportedFrameworksAsync(System.Threading.CancellationToken)">
            <inheritdoc cref="M:NuGet.Packaging.PackageReaderBase.GetSupportedFrameworksAsync(System.Threading.CancellationToken)"/>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.GetFrameworkItems">
            <summary>
            Gets framework items.
            </summary>
            <returns>An enumerable of framework specific groups.</returns>
            <exception cref="T:System.NotSupportedException">Thrown always.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.GetFrameworkItemsAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets framework items.
            </summary>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:System.Collections.Generic.IEnumerable`1" />.</returns>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.IsServiceable">
            <summary>
            Gets a flag indicating whether or not the package is serviceable.
            </summary>
            <returns>A flag indicating whether or not the package is serviceable.</returns>
            <exception cref="T:System.NotSupportedException">Thrown always.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.IsServiceableAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets a flag indicating whether or not the package is serviceable.
            </summary>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns a <see cref="T:System.Boolean" />.</returns>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.GetBuildItems">
            <summary>
            Gets build items.
            </summary>
            <returns>An enumerable of framework specific groups.</returns>
            <exception cref="T:System.NotSupportedException">Thrown always.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.GetBuildItemsAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets build items.
            </summary>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:System.Collections.Generic.IEnumerable`1" />.</returns>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.GetToolItems">
            <summary>
            Gets tool items.
            </summary>
            <returns>An enumerable of framework specific groups.</returns>
            <exception cref="T:System.NotSupportedException">Thrown always.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.GetToolItemsAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets tool items.
            </summary>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:System.Collections.Generic.IEnumerable`1" />.</returns>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.GetContentItems">
            <summary>
            Gets content items.
            </summary>
            <returns>An enumerable of framework specific groups.</returns>
            <exception cref="T:System.NotSupportedException">Thrown always.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.GetContentItemsAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets content items.
            </summary>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:System.Collections.Generic.IEnumerable`1" />.</returns>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.GetItems(System.String)">
            <summary>
            Gets items in the specified folder in the package.
            </summary>
            <param name="folderName">A folder in the package.</param>
            <returns>An enumerable of framework specific groups.</returns>
            <exception cref="T:System.NotSupportedException">Thrown always.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.GetItemsAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets items in the specified folder in the package.
            </summary>
            <param name="folderName">A folder in the package.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:System.Collections.Generic.IEnumerable`1" />.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="folderName" /> is <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.GetPackageDependencies">
            <summary>
            Gets package dependencies.
            </summary>
            <returns>An enumerable of package dependency groups.</returns>
            <exception cref="T:System.NotSupportedException">Thrown always.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.GetPackageDependenciesAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets package dependencies.
            </summary>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:System.Collections.Generic.IEnumerable`1" />.</returns>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.GetLibItems">
            <summary>
            Gets lib items.
            </summary>
            <returns>An enumerable of framework specific groups.</returns>
            <exception cref="T:System.NotSupportedException">Thrown always.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.GetLibItemsAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets lib items.
            </summary>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:System.Collections.Generic.IEnumerable`1" />.</returns>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.GetReferenceItems">
            <summary>
            Gets reference items.
            </summary>
            <returns>An enumerable of framework specific groups.</returns>
            <exception cref="T:System.NotSupportedException">Thrown always.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.GetReferenceItemsAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets reference items.
            </summary>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:System.Collections.Generic.IEnumerable`1" />.</returns>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.GetDevelopmentDependency">
            <summary>
            Gets a flag indicating whether or not the package is a development dependency.
            </summary>
            <returns>A flag indicating whether or not the package is a development dependency</returns>
            <exception cref="T:System.NotSupportedException">Thrown always.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.GetDevelopmentDependencyAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets a flag indicating whether or not the package is a development dependency.
            </summary>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns a <see cref="T:System.Boolean" />.</returns>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginPackageReader.CopyNupkgAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously copies a package to the specified destination file path.
            </summary>
            <param name="nupkgFilePath">The destination file path.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns a <see cref="T:System.String" />.</returns>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="nupkgFilePath" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.PluginProcess">
            <summary>
            Represents a plugin process.
            </summary>
        </member>
        <member name="E:NuGet.Protocol.Plugins.PluginProcess.Exited">
            <summary>
            Occurs when a process exits.
            </summary>
        </member>
        <member name="E:NuGet.Protocol.Plugins.PluginProcess.LineRead">
            <summary>
            Occurs when a line of output has been received.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.PluginProcess.Id">
            <summary>
            Gets the process ID if the process was started; otherwise, <see langword="null" />.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginProcess.#ctor">
            <summary>
            Instantiates a new <see cref="T:NuGet.Protocol.Plugins.PluginProcess" /> class from the current process.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginProcess.#ctor(System.Diagnostics.ProcessStartInfo)">
            <summary>
            Instantiates a new <see cref="T:NuGet.Protocol.Plugins.PluginProcess" /> class.
            </summary>
            <param name="startInfo">A plugin process.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="startInfo" /> is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginProcess.Dispose">
            <summary>
            Disposes of this instance.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginProcess.BeginReadLine">
            <summary>
            Asynchronously starts reading the standard output stream.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginProcess.CancelRead">
            <summary>
            Cancels asynchronous reading of the standard output stream.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.PluginProcess.Kill">
            <summary>
            Stops the associated process.
            </summary>
        </member>
        <member name="T:NuGet.Protocol.Plugins.ProtocolConstants">
            <summary>
            Plugin protocol constants.
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Plugins.ProtocolConstants.CurrentVersion">
            <summary>
            The current protocol version.
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Plugins.ProtocolConstants.Version100">
            <summary>
            The minimum supported protocol version.
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Plugins.ProtocolConstants.HandshakeTimeout">
            <summary>
            The default handshake timeout.
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Plugins.ProtocolConstants.MaxTimeout">
            <summary>
            The maximum timeout value.
            </summary>
            <remarks>This is set by CancellationTokenSource's constructor.</remarks>
        </member>
        <member name="F:NuGet.Protocol.Plugins.ProtocolConstants.MinTimeout">
            <summary>
            The minimum timeout value.
            </summary>
        </member>
        <member name="F:NuGet.Protocol.Plugins.ProtocolConstants.RequestTimeout">
            <summary>
            The default request timeout.
            </summary>
        </member>
        <member name="T:NuGet.Protocol.Plugins.ProtocolErrorEventArgs">
            <summary>
            Protocol error event arguments.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.ProtocolErrorEventArgs.Exception">
            <summary>
            Gets the exception.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.ProtocolErrorEventArgs.Message">
            <summary>
            Gets the message.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.ProtocolErrorEventArgs.#ctor(System.Exception)">
            <summary>
            Instantiates a new <see cref="T:NuGet.Protocol.Plugins.ProtocolErrorEventArgs" /> class.
            </summary>
            <param name="exception">An exception.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="exception" /> is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.ProtocolErrorEventArgs.#ctor(System.Exception,NuGet.Protocol.Plugins.Message)">
            <summary>
            Instantiates a new <see cref="T:NuGet.Protocol.Plugins.ProtocolErrorEventArgs" /> class.
            </summary>
            <param name="exception">An exception.</param>
            <param name="message">A message.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="exception" /> is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="message" /> is <see langword="null" />.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.ProtocolException">
            <summary>
            A plugin protocol exception.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.ProtocolException.#ctor(System.String)">
            <summary>
            Instantiates a new <see cref="T:NuGet.Protocol.Plugins.ProtocolException" /> class.
            </summary>
            <param name="message">The exception message.</param>
        </member>
        <member name="M:NuGet.Protocol.Plugins.ProtocolException.#ctor(System.String,System.Exception)">
            <summary>
            Instantiates a new <see cref="T:NuGet.Protocol.Plugins.ProtocolException" /> class.
            </summary>
            <param name="message">The exception message.</param>
            <param name="innerException">The inner exception.</param>
        </member>
        <member name="T:NuGet.Protocol.Plugins.Receiver">
            <summary>
            Represents a unidirectional communications channel from a target.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.Receiver.IsClosed">
            <summary>
            Gets a flag indicating whether or not this instance is closed.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.Receiver.IsDisposed">
            <summary>
            Gets or sets a flag indicating whether or not this instance is disposed.
            </summary>
        </member>
        <member name="E:NuGet.Protocol.Plugins.Receiver.Faulted">
            <summary>
            Occurs when an unrecoverable fault has been caught.
            </summary>
        </member>
        <member name="E:NuGet.Protocol.Plugins.Receiver.MessageReceived">
            <summary>
            Occurs when a message has been received.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.Receiver.Close">
            <summary>
            Closes the connection.
            </summary>
            <remarks>This does not call <see cref="M:System.IDisposable.Dispose" />.</remarks>
        </member>
        <member name="M:NuGet.Protocol.Plugins.Receiver.Connect">
            <summary>
            Connects.
            </summary>
            <exception cref="T:System.ObjectDisposedException">Thrown if this object is disposed.</exception>
            <exception cref="T:System.InvalidOperationException">Thrown if this object is closed.</exception>
            <exception cref="T:System.InvalidOperationException">Thrown if this method has already been called.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.Receiver.Dispose">
            <summary>
            Disposes of this instance.
            </summary>
        </member>
        <member name="T:NuGet.Protocol.Plugins.RequestHandlers">
            <summary>
            A set of <see cref="T:NuGet.Protocol.Plugins.IRequestHandler" />.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.RequestHandlers.#ctor">
            <summary>
            Instantiates a new <see cref="T:NuGet.Protocol.Plugins.RequestHandlers" /> class.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.RequestHandlers.AddOrUpdate(NuGet.Protocol.Plugins.MessageMethod,System.Func{NuGet.Protocol.Plugins.IRequestHandler},System.Func{NuGet.Protocol.Plugins.IRequestHandler,NuGet.Protocol.Plugins.IRequestHandler})">
            <summary>
            Atomically add or update a request handler for the specified message method.
            </summary>
            <param name="method">A message method.</param>
            <param name="addHandlerFunc">An add request handler function.</param>
            <param name="updateHandlerFunc">An update request handler function.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="addHandlerFunc" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="updateHandlerFunc" />
            is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.RequestHandlers.TryAdd(NuGet.Protocol.Plugins.MessageMethod,NuGet.Protocol.Plugins.IRequestHandler)">
            <summary>
            Attempts to add a request handler for the specified message method.
            </summary>
            <param name="method">A message method.</param>
            <param name="handler">A request handler.</param>
            <returns><see langword="true" /> if added; otherwise, <see langword="false" />.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="handler" /> is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.RequestHandlers.TryGet(NuGet.Protocol.Plugins.MessageMethod,NuGet.Protocol.Plugins.IRequestHandler@)">
            <summary>
            Attempts to get a request handler for the specified message method.
            </summary>
            <param name="method">A message method.</param>
            <param name="handler">An existing request handler.</param>
            <returns><see langword="true" /> if the request handler exists; otherwise, <see langword="false" />.</returns>
        </member>
        <member name="M:NuGet.Protocol.Plugins.RequestHandlers.TryRemove(NuGet.Protocol.Plugins.MessageMethod)">
            <summary>
            Attempts to remove a request handler for the specified message method.
            </summary>
            <param name="method">A message method.</param>
            <returns><see langword="true" /> if a request handler was removed; otherwise, <see langword="false" />.</returns>
        </member>
        <member name="T:NuGet.Protocol.Plugins.CloseRequestHandler">
            <summary>
            A request handler for closing a plugin.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.CloseRequestHandler.#ctor(NuGet.Protocol.Plugins.IPlugin)">
            <summary>
            Initializes a new <see cref="T:NuGet.Protocol.Plugins.CloseRequestHandler" /> class.
            </summary>
            <param name="plugin">A plugin.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="plugin" /> is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.CloseRequestHandler.HandleResponseAsync(NuGet.Protocol.Plugins.IConnection,NuGet.Protocol.Plugins.Message,NuGet.Protocol.Plugins.IResponseHandler,System.Threading.CancellationToken)">
            <summary>
            Asynchronously handles responding to a request.
            </summary>
            <param name="connection">The connection.</param>
            <param name="request">A request message.</param>
            <param name="responseHandler">A response handler.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="connection" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="request" /> is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="responseHandler" />
            is <see langword="null" />.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.GetCredentialsRequestHandler">
            <summary>
            A request handler for get credentials requests.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.GetCredentialsRequestHandler.CancellationToken">
            <summary>
            Gets the <see cref="P:NuGet.Protocol.Plugins.GetCredentialsRequestHandler.CancellationToken" /> for a request.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.GetCredentialsRequestHandler.#ctor(NuGet.Protocol.Plugins.IPlugin,System.Net.IWebProxy,NuGet.Configuration.ICredentialService)">
            <summary>
            Initializes a new <see cref="T:NuGet.Protocol.Plugins.GetCredentialsRequestHandler" /> class.
            </summary>
            <param name="plugin">A plugin.</param>
            <param name="proxy">A web proxy.</param>
            <param name="credentialService">An optional credential service.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="plugin" />
            is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.GetCredentialsRequestHandler.Dispose">
            <summary>
            Disposes of this instance.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.GetCredentialsRequestHandler.AddOrUpdateSourceRepository(NuGet.Protocol.Core.Types.SourceRepository)">
            <summary>
            Adds or updates a source repository in a source repository cache.
            </summary>
            <param name="sourceRepository">A source repository.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="sourceRepository" />
            is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.GetCredentialsRequestHandler.HandleResponseAsync(NuGet.Protocol.Plugins.IConnection,NuGet.Protocol.Plugins.Message,NuGet.Protocol.Plugins.IResponseHandler,System.Threading.CancellationToken)">
            <summary>
            Asynchronously handles responding to a request.
            </summary>
            <param name="connection">The connection.</param>
            <param name="request">A request message.</param>
            <param name="responseHandler">A response handler.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="connection" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="request" /> is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="responseHandler" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.GetServiceIndexRequestHandler">
            <summary>
            A request handler for get service index requests.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.GetServiceIndexRequestHandler.CancellationToken">
            <summary>
            Gets the <see cref="P:NuGet.Protocol.Plugins.GetServiceIndexRequestHandler.CancellationToken" /> for a request.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.GetServiceIndexRequestHandler.#ctor(NuGet.Protocol.Plugins.IPlugin)">
            <summary>
            Initializes a new <see cref="T:NuGet.Protocol.Plugins.GetServiceIndexRequestHandler" /> class.
            </summary>
            <param name="plugin">A plugin.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="plugin" /> is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.GetServiceIndexRequestHandler.Dispose">
            <summary>
            Disposes of this instance.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.GetServiceIndexRequestHandler.AddOrUpdateSourceRepository(NuGet.Protocol.Core.Types.SourceRepository)">
            <summary>
            Adds or updates a source repository in a source repository cache.
            </summary>
            <param name="sourceRepository">A source repository.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="sourceRepository" />
            is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.GetServiceIndexRequestHandler.HandleResponseAsync(NuGet.Protocol.Plugins.IConnection,NuGet.Protocol.Plugins.Message,NuGet.Protocol.Plugins.IResponseHandler,System.Threading.CancellationToken)">
            <summary>
            Asynchronously handles responding to a request.
            </summary>
            <param name="connection">The connection.</param>
            <param name="request">A request message.</param>
            <param name="responseHandler">A response handler.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="connection" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="request" /> is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="responseHandler" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.LogRequestHandler">
            <summary>
            A request handler for logging.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.LogRequestHandler.CancellationToken">
            <summary>
            Gets the <see cref="P:NuGet.Protocol.Plugins.LogRequestHandler.CancellationToken" /> for a request.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.LogRequestHandler.#ctor(NuGet.Common.ILogger)">
            <summary>
            Instantiates a new instance of the <see cref="T:NuGet.Protocol.Plugins.LogRequestHandler" /> class.
            </summary>
            <param name="logger">A logger.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.LogRequestHandler.HandleResponseAsync(NuGet.Protocol.Plugins.IConnection,NuGet.Protocol.Plugins.Message,NuGet.Protocol.Plugins.IResponseHandler,System.Threading.CancellationToken)">
            <summary>
            Asynchronously handles responding to a request.
            </summary>
            <param name="connection">The connection.</param>
            <param name="request">A request message.</param>
            <param name="responseHandler">A response handler.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="connection" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="request" /> is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="responseHandler" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.LogRequestHandler.SetLogger(NuGet.Common.ILogger)">
            <summary>
            Sets the logger.
            </summary>
            <param name="logger">A logger.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.LogRequestHandler.GetLogLevel(NuGet.Common.ILogger)">
            <summary>
            Gets the log level of a logger.
            </summary>
            <param name="logger">A logger.</param>
            <returns>A log level.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> is <see langword="null" />.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.MonitorNuGetProcessExitRequestHandler">
            <summary>
            A request handler for monitoring the exit of a NuGet process.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.MonitorNuGetProcessExitRequestHandler.#ctor(NuGet.Protocol.Plugins.IPlugin)">
            <summary>
            Initializes a new <see cref="T:NuGet.Protocol.Plugins.MonitorNuGetProcessExitRequestHandler" /> class.
            </summary>
            <param name="plugin">A plugin.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="plugin" /> is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.MonitorNuGetProcessExitRequestHandler.HandleResponseAsync(NuGet.Protocol.Plugins.IConnection,NuGet.Protocol.Plugins.Message,NuGet.Protocol.Plugins.IResponseHandler,System.Threading.CancellationToken)">
            <summary>
            Asynchronously handles responding to a request.
            </summary>
            <param name="connection">The connection.</param>
            <param name="request">A request message.</param>
            <param name="responseHandler">A response handler.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="connection" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="request" /> is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="responseHandler" />
            is <see langword="null" />.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.SymmetricHandshake">
            <summary>
            A helper class that performs a symmetric handshake.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Plugins.SymmetricHandshake.CancellationToken">
            <summary>
            Gets the <see cref="P:NuGet.Protocol.Plugins.SymmetricHandshake.CancellationToken" /> for a request.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.SymmetricHandshake.#ctor(NuGet.Protocol.Plugins.IConnection,System.TimeSpan,NuGet.Versioning.SemanticVersion,NuGet.Versioning.SemanticVersion)">
            <summary>
            Initializes a new instance of the <see cref="T:NuGet.Protocol.Plugins.SymmetricHandshake" /> class.
            </summary>
            <param name="connection">A connection.</param>
            <param name="handshakeTimeout">The handshake timeout.</param>
            <param name="protocolVersion">The handshaker's protocol version.</param>
            <param name="minimumProtocolVersion">The handshaker's minimum protocol version.</param>
        </member>
        <member name="M:NuGet.Protocol.Plugins.SymmetricHandshake.Dispose">
            <summary>
            Disposes of this instance.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.SymmetricHandshake.HandshakeAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously handles handshaking.
            </summary>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns a <see cref="T:NuGet.Versioning.SemanticVersion" />
            if the handshake was successful; otherwise, <see langword="null" />.</returns>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.SymmetricHandshake.HandleResponseAsync(NuGet.Protocol.Plugins.IConnection,NuGet.Protocol.Plugins.Message,NuGet.Protocol.Plugins.IResponseHandler,System.Threading.CancellationToken)">
            <summary>
            Asynchronously handles responding to a request.
            </summary>
            <param name="connection">The connection.</param>
            <param name="request">A request message.</param>
            <param name="responseHandler">A response handler.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="connection" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="request" /> is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="responseHandler" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.RequestIdGenerator">
            <summary>
            A unique identifier generator.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.RequestIdGenerator.GenerateUniqueId">
            <summary>
            Generates a new unique identifier.
            </summary>
            <returns>A unique identifier.</returns>
        </member>
        <member name="T:NuGet.Protocol.Plugins.Sender">
            <summary>
            Represents a unidirectional communications channel to a target.
            </summary>
            <remarks>
            Any public static members of this type are thread safe.
            Any instance members are not guaranteed to be thread safe.
            </remarks>
        </member>
        <member name="M:NuGet.Protocol.Plugins.Sender.#ctor(System.IO.TextWriter)">
            <summary>
            Instantiates a new <see cref="T:NuGet.Protocol.Plugins.Sender" /> class.
            </summary>
            <param name="writer">A text writer.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="writer" /> is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.Sender.Dispose">
            <summary>
            Disposes of this instance.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.Sender.Close">
            <summary>
            Closes the connection.
            </summary>
            <remarks>This does not call <see cref="M:System.IDisposable.Dispose" />.</remarks>
        </member>
        <member name="M:NuGet.Protocol.Plugins.Sender.Connect">
            <summary>
            Connects.
            </summary>
            <exception cref="T:System.ObjectDisposedException">Thrown if this object is disposed.</exception>
            <exception cref="T:System.InvalidOperationException">Thrown if this object is closed.</exception>
            <exception cref="T:System.InvalidOperationException">Thrown if this method has already been called.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.Sender.SendAsync(NuGet.Protocol.Plugins.Message,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sends a message to the target.
            </summary>
            <param name="message">The message to send.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.</returns>
            <exception cref="T:System.ObjectDisposedException">Thrown if this object is disposed.</exception>
            <exception cref="T:System.InvalidOperationException">Thrown if <see cref="M:NuGet.Protocol.Plugins.Sender.Connect" /> has not been called.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="message" /> is <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.StandardInputReceiver">
            <summary>
            Represents a unidirectional communications channel from a target.
            </summary>
            <remarks>
            Any public static members of this type are thread safe.
            Any instance members are not guaranteed to be thread safe.
            </remarks>
        </member>
        <member name="M:NuGet.Protocol.Plugins.StandardInputReceiver.#ctor(System.IO.TextReader)">
            <summary>
            Instantiates a new <see cref="T:NuGet.Protocol.Plugins.StandardInputReceiver" /> class.
            </summary>
            <param name="reader">A text reader.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="reader" /> is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.StandardInputReceiver.Connect">
            <summary>
            Connects.
            </summary>
            <exception cref="T:System.ObjectDisposedException">Thrown if this object is disposed.</exception>
            <exception cref="T:System.InvalidOperationException">Thrown if this object is closed.</exception>
            <exception cref="T:System.InvalidOperationException">Thrown if this method has already been called.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.StandardOutputReceiver">
            <summary>
            Represents a unidirectional communications channel from a target.
            </summary>
            <remarks>
            Any public static members of this type are thread safe.
            Any instance members are not guaranteed to be thread safe.
            </remarks>
        </member>
        <member name="M:NuGet.Protocol.Plugins.StandardOutputReceiver.#ctor(NuGet.Protocol.Plugins.IPluginProcess)">
            <summary>
            Instantiates a new <see cref="T:NuGet.Protocol.Plugins.StandardOutputReceiver" /> class.
            </summary>
            <param name="process">A plugin process.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="process" /> is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.StandardOutputReceiver.Dispose(System.Boolean)">
            <summary>
            Disposes of this instance.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.StandardOutputReceiver.Close">
            <summary>
            Closes the connection.
            </summary>
            <remarks>This does not call <see cref="M:System.IDisposable.Dispose" />.</remarks>
        </member>
        <member name="M:NuGet.Protocol.Plugins.StandardOutputReceiver.Connect">
            <summary>
            Connects.
            </summary>
            <exception cref="T:System.ObjectDisposedException">Thrown if this object is disposed.</exception>
            <exception cref="T:System.InvalidOperationException">Thrown if this object is closed.</exception>
            <exception cref="T:System.InvalidOperationException">Thrown if this method has already been called.</exception>
        </member>
        <member name="T:NuGet.Protocol.Plugins.TimeoutUtilities">
            <summary>
            Timeout utilities.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Plugins.TimeoutUtilities.GetTimeout(System.String,System.TimeSpan)">
            <summary>
            Attempts to parse a legal timeout and returns a default timeout as a fallback.
            </summary>
            <param name="timeoutInSeconds">The requested timeout in seconds.</param>
            <param name="fallbackTimeout">A fallback timeout.</param>
            <returns>A <see cref="T:System.TimeSpan" /> object that represents a timeout interval.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">Thrown if <paramref name="fallbackTimeout" /> is an invalid
            timeout.</exception>
        </member>
        <member name="M:NuGet.Protocol.Plugins.TimeoutUtilities.IsValid(System.TimeSpan)">
            <summary>
            Determines if a timeout is valid.
            </summary>
            <param name="timeout">A timeout.</param>
            <returns><see langword="true" /> if the timeout is valid; otherwise, <see langword="false" />.</returns>
        </member>
        <member name="T:NuGet.Protocol.DependencyInfoResourceV3Provider">
            <summary>
            Retrieves all dependency info for the package resolver.
            </summary>
        </member>
        <member name="T:NuGet.Protocol.DownloadResourcePluginProvider">
            <summary>
            A download resource provider for plugins.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.DownloadResourcePluginProvider.#ctor">
            <summary>
            Instanatiates a new <see cref="T:NuGet.Protocol.DownloadResourcePluginProvider" /> class.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.DownloadResourcePluginProvider.TryCreate(NuGet.Protocol.Core.Types.SourceRepository,System.Threading.CancellationToken)">
            <summary>
            Attempts to create a resource for the specified source repository.
            </summary>
            <param name="source">A source repository.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns a Tuple&lt;bool, INuGetResource&gt;</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="source"/> is <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken"/>
            is cancelled.</exception>
        </member>
        <member name="T:NuGet.Protocol.Providers.OwnerDetailsUriResourceV3Provider">
            <summary>NuGet.Protocol resource provider for <see cref="T:NuGet.Protocol.Resources.OwnerDetailsUriTemplateResourceV3"/> in V3 HTTP feeds.</summary>
            <remarks>When successful, returns an instance of <see cref="T:NuGet.Protocol.Resources.OwnerDetailsUriTemplateResourceV3"/>.</remarks>
        </member>
        <member name="M:NuGet.Protocol.Providers.OwnerDetailsUriResourceV3Provider.TryCreate(NuGet.Protocol.Core.Types.SourceRepository,System.Threading.CancellationToken)">
            <inheritdoc cref="M:NuGet.Protocol.Core.Types.ResourceProvider.TryCreate(NuGet.Protocol.Core.Types.SourceRepository,System.Threading.CancellationToken)"/>
        </member>
        <member name="T:NuGet.Protocol.Providers.VulnerabilityInfoResourceV3Provider">
            <summary>NuGet.Protocol resource provider for <see cref="T:NuGet.Protocol.IVulnerabilityInfoResource"/> in V3 HTTP feeds.</summary>
            <remarks>When successful, returns an instance of <see cref="T:NuGet.Protocol.Resources.VulnerabilityInfoResourceV3"/>.</remarks>
        </member>
        <member name="M:NuGet.Protocol.Providers.VulnerabilityInfoResourceV3Provider.#ctor">
            <summary>Create an instance of the resource provider.</summary>
        </member>
        <member name="M:NuGet.Protocol.Providers.VulnerabilityInfoResourceV3Provider.TryCreate(NuGet.Protocol.Core.Types.SourceRepository,System.Threading.CancellationToken)">
            <inheritdoc cref="M:NuGet.Protocol.Core.Types.ResourceProvider.TryCreate(NuGet.Protocol.Core.Types.SourceRepository,System.Threading.CancellationToken)"/>
        </member>
        <member name="T:NuGet.Protocol.ReadmeUriTemplateResourceProvider">
            <summary>NuGet.Protocol resource provider for <see cref="T:NuGet.Protocol.ReadmeUriTemplateResource"/>.</summary>
            <remarks>When successful, returns an instance of <see cref="T:NuGet.Protocol.ReadmeUriTemplateResource"/>.</remarks>
        </member>
        <member name="M:NuGet.Protocol.ReadmeUriTemplateResourceProvider.TryCreate(NuGet.Protocol.Core.Types.SourceRepository,System.Threading.CancellationToken)">
            <inheritdoc cref="M:NuGet.Protocol.Core.Types.ResourceProvider.TryCreate(NuGet.Protocol.Core.Types.SourceRepository,System.Threading.CancellationToken)"/>
        </member>
        <member name="T:NuGet.Protocol.ServiceIndexResourceV3Provider">
            <summary>
            Retrieves and caches service index.json files
            ServiceIndexResourceV3 stores the json, all work is done in the provider
            </summary>
        </member>
        <member name="P:NuGet.Protocol.ServiceIndexResourceV3Provider.MaxCacheDuration">
            <summary>
            Maximum amount of time to store index.json
            </summary>
        </member>
        <member name="M:NuGet.Protocol.ServiceIndexResourceV3Provider.GetServiceIndexResourceV3(NuGet.Protocol.Core.Types.SourceRepository,System.DateTime,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Read the source's end point to get the index json.
            Retries are logged to any provided <paramref name="log"/> as LogMinimal.
            </summary>
            <param name="source"></param>
            <param name="utcNow"></param>
            <param name="log"></param>
            <param name="token"></param>
            <exception cref="T:System.OperationCanceledException">Logged to any provided <paramref name="log"/> as LogMinimal prior to throwing.</exception>
            <exception cref="T:NuGet.Protocol.Core.Types.FatalProtocolException">Encapsulates all other exceptions.</exception>
            <returns></returns>
        </member>
        <member name="T:NuGet.Protocol.RemotePackageArchiveDownloader">
            <summary>
            A remote package downloader.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.RemotePackageArchiveDownloader.ContentReader">
            <summary>
            Gets an asynchronous package content reader.
            </summary>
            <exception cref="T:System.ObjectDisposedException">Thrown if this object is disposed.</exception>
        </member>
        <member name="P:NuGet.Protocol.RemotePackageArchiveDownloader.CoreReader">
            <summary>
            Gets an asynchronous package core reader.
            </summary>
            <exception cref="T:System.ObjectDisposedException">Thrown if this object is disposed.</exception>
        </member>
        <member name="M:NuGet.Protocol.RemotePackageArchiveDownloader.#ctor(System.String,NuGet.Protocol.Core.Types.FindPackageByIdResource,NuGet.Packaging.Core.PackageIdentity,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger)">
            <summary>
            Initializes a new <see cref="T:NuGet.Protocol.RemotePackageArchiveDownloader" /> class.
            </summary>
            <param name="source">A package source.</param>
            <param name="resource">A <see cref="T:NuGet.Protocol.Core.Types.FindPackageByIdResource" /> resource.</param>
            <param name="packageIdentity">A package identity.</param>
            <param name="cacheContext">A source cache context.</param>
            <param name="logger">A logger.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="resource" /> is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="packageIdentity" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="cacheContext" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.RemotePackageArchiveDownloader.Dispose">
            <summary>
            Disposes this instance.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.RemotePackageArchiveDownloader.CopyNupkgFileToAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously copies a .nupkg to a target file path.
            </summary>
            <param name="destinationFilePath">The destination file path.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns a <see cref="T:System.Boolean" />
            indicating whether or not the copy was successful.</returns>
            <exception cref="T:System.ObjectDisposedException">Thrown if this object is disposed.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="destinationFilePath" />
            is either <see langword="null" /> or empty.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.RemotePackageArchiveDownloader.GetPackageHashAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets a package hash.
            </summary>
            <param name="hashAlgorithm">The hash algorithm.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns a <see cref="T:System.String" />
            representing the package hash.</returns>
            <exception cref="T:System.ObjectDisposedException">Thrown if this object is disposed.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="hashAlgorithm" />
            is either <see langword="null" /> or empty.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.RemotePackageArchiveDownloader.SetExceptionHandler(System.Func{System.Exception,System.Threading.Tasks.Task{System.Boolean}})">
            <summary>
            Sets an exception handler for package downloads.
            </summary>
            <remarks>The exception handler returns a task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns a <see cref="T:System.Boolean" />
            indicating whether or not the exception was handled.  To handle an exception and stop its
            propagation, the task should return <see langword="true" />.  Otherwise, the exception will be rethrown.</remarks>
            <param name="handleExceptionAsync">An exception handler.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="handleExceptionAsync" />
            is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.RemotePackageArchiveDownloader.SetThrottle(System.Threading.SemaphoreSlim)">
            <summary>
            Sets a throttle for package downloads.
            </summary>
            <param name="throttle">A throttle.  Can be <see langword="null" />.</param>
        </member>
        <member name="T:NuGet.Protocol.HttpFileSystemBasedFindPackageByIdResource">
            <summary>
            A <see cref="T:NuGet.Protocol.Core.Types.FindPackageByIdResource" /> for a Http-based file system where files are laid out in the
            format
            /root/
            PackageA/
            Version0/
            PackageA.nuspec
            PackageA.Version0.nupkg
            and are accessible via HTTP Gets.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.HttpFileSystemBasedFindPackageByIdResource.#ctor(System.Collections.Generic.IReadOnlyList{System.Uri},NuGet.Protocol.HttpSource)">
            <summary>
            Initializes a new <see cref="T:NuGet.Protocol.HttpFileSystemBasedFindPackageByIdResource" /> class.
            </summary>
            <param name="baseUris">Base URI's.</param>
            <param name="httpSource">An HTTP source.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="baseUris" /> is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="baseUris" /> is empty.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="httpSource" /> is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.HttpFileSystemBasedFindPackageByIdResource.GetAllVersionsAsync(System.String,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets all package versions for a package ID.
            </summary>
            <param name="id">A package ID.</param>
            <param name="cacheContext">A source cache context.</param>
            <param name="logger">A logger.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:System.Collections.Generic.IEnumerable`1" />.</returns>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="id" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="cacheContext" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.HttpFileSystemBasedFindPackageByIdResource.GetDependencyInfoAsync(System.String,NuGet.Versioning.NuGetVersion,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets dependency information for a specific package.
            </summary>
            <param name="id">A package id.</param>
            <param name="version">A package version.</param>
            <param name="cacheContext">A source cache context.</param>
            <param name="logger">A logger.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:System.Collections.Generic.IEnumerable`1" />.</returns>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="id" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="version" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="cacheContext" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.HttpFileSystemBasedFindPackageByIdResource.CopyNupkgToStreamAsync(System.String,NuGet.Versioning.NuGetVersion,System.IO.Stream,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Asynchronously copies a .nupkg to a stream.
            </summary>
            <param name="id">A package ID.</param>
            <param name="version">A package version.</param>
            <param name="destination">A destination stream.</param>
            <param name="cacheContext">A source cache context.</param>
            <param name="logger">A logger.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:System.Boolean" /> indicating whether or not the .nupkg file was copied.</returns>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="id" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="version" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="destination" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="cacheContext" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.HttpFileSystemBasedFindPackageByIdResource.GetPackageDownloaderAsync(NuGet.Packaging.Core.PackageIdentity,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets a package downloader for a package identity.
            </summary>
            <param name="packageIdentity">A package identity.</param>
            <param name="cacheContext">A source cache context.</param>
            <param name="logger">A logger.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an <see cref="T:NuGet.Packaging.IPackageDownloader" />.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="packageIdentity" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="cacheContext" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.HttpFileSystemBasedFindPackageByIdResource.DoesPackageExistAsync(System.String,NuGet.Versioning.NuGetVersion,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Asynchronously check if exact package (id/version) exists at this source.
            </summary>
            <param name="id">A package id.</param>
            <param name="version">A package version.</param>
            <param name="cacheContext">A source cache context.</param>
            <param name="logger">A logger.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:System.Collections.Generic.IEnumerable`1" />.</returns>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="id" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="version" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="cacheContext" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.PackageUtilities.OpenNuspecFromNupkg(System.String,System.IO.Stream,NuGet.Common.ILogger)">
            <summary>
            Create a <see cref="T:NuGet.Packaging.NuspecReader"/> from a nupkg stream.
            </summary>
        </member>
        <member name="T:NuGet.Protocol.PluginFindPackageByIdResourceProvider">
            <summary>
            A FindPackageByIdResource provider for plugins.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.PluginFindPackageByIdResourceProvider.#ctor">
            <summary>
            Instantiates a new <see cref="T:NuGet.Protocol.PluginFindPackageByIdResourceProvider" /> class.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.PluginFindPackageByIdResourceProvider.TryCreate(NuGet.Protocol.Core.Types.SourceRepository,System.Threading.CancellationToken)">
            <summary>
            Asynchronously attempts to create a resource for the specified source repository.
            </summary>
            <param name="source">A source repository.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns a Tuple&lt;bool, INuGetResource&gt;</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="source"/> is <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken"/>
            is cancelled.</exception>
        </member>
        <member name="T:NuGet.Protocol.RemoteV2FindPackageByIdResource">
            <summary>
            A resource capable of fetching packages, package versions and package dependency information.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.RemoteV2FindPackageByIdResource.#ctor(NuGet.Configuration.PackageSource,NuGet.Protocol.HttpSource)">
            <summary>
            Initializes a new <see cref="T:NuGet.Protocol.RemoteV2FindPackageByIdResource" /> class.
            </summary>
            <param name="packageSource">A package source.</param>
            <param name="httpSource">An HTTP source.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="packageSource" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="httpSource" />
            is <see langword="null" />.</exception>
        </member>
        <member name="P:NuGet.Protocol.RemoteV2FindPackageByIdResource.PackageSource">
            <summary>
            Gets the package source.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.RemoteV2FindPackageByIdResource.GetAllVersionsAsync(System.String,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets all package versions for a package ID.
            </summary>
            <param name="id">A package ID.</param>
            <param name="cacheContext">A source cache context.</param>
            <param name="logger">A logger.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:System.Collections.Generic.IEnumerable`1" />.</returns>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="id" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="cacheContext" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.RemoteV2FindPackageByIdResource.GetDependencyInfoAsync(System.String,NuGet.Versioning.NuGetVersion,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets dependency information for a specific package.
            </summary>
            <param name="id">A package id.</param>
            <param name="version">A package version.</param>
            <param name="cacheContext">A source cache context.</param>
            <param name="logger">A logger.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:System.Collections.Generic.IEnumerable`1" />.</returns>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="id" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="version" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="cacheContext" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.RemoteV2FindPackageByIdResource.CopyNupkgToStreamAsync(System.String,NuGet.Versioning.NuGetVersion,System.IO.Stream,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Asynchronously copies a .nupkg to a stream.
            </summary>
            <param name="id">A package ID.</param>
            <param name="version">A package version.</param>
            <param name="destination">A destination stream.</param>
            <param name="cacheContext">A source cache context.</param>
            <param name="logger">A logger.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:System.Boolean" /> indicating whether or not the .nupkg file was copied.</returns>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="id" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="version" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="destination" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="cacheContext" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.RemoteV2FindPackageByIdResource.GetPackageDownloaderAsync(NuGet.Packaging.Core.PackageIdentity,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets a package downloader for a package identity.
            </summary>
            <param name="packageIdentity">A package identity.</param>
            <param name="cacheContext">A source cache context.</param>
            <param name="logger">A logger.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an <see cref="T:NuGet.Packaging.IPackageDownloader" />.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="packageIdentity" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="cacheContext" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.RemoteV2FindPackageByIdResource.DoesPackageExistAsync(System.String,NuGet.Versioning.NuGetVersion,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Asynchronously check if exact package (id/version) exists at this source.
            </summary>
            <param name="id">A package id.</param>
            <param name="version">A package version.</param>
            <param name="cacheContext">A source cache context.</param>
            <param name="logger">A logger.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:System.Collections.Generic.IEnumerable`1" />.</returns>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="id" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="version" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="cacheContext" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="T:NuGet.Protocol.RemoteV2FindPackageByIdResourceProvider">
            <summary>
            A <see cref="T:NuGet.Protocol.Core.Types.ResourceProvider" /> for <see cref="T:NuGet.Protocol.Core.Types.FindPackageByIdResource" /> over v2 NuGet feeds.
            </summary>
        </member>
        <member name="T:NuGet.Protocol.RemoteV3FindPackageByIdResource">
            <summary>
            A resource capable of fetching packages, package versions and package dependency information.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.RemoteV3FindPackageByIdResource.#ctor(NuGet.Protocol.Core.Types.SourceRepository,NuGet.Protocol.HttpSource)">
            <summary>
            Initializes a new <see cref="T:NuGet.Protocol.RemoteV3FindPackageByIdResource" /> class.
            </summary>
            <param name="sourceRepository">A source repository.</param>
            <param name="httpSource">An HTTP source.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="sourceRepository" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="httpSource" />
            is <see langword="null" />.</exception>
        </member>
        <member name="P:NuGet.Protocol.RemoteV3FindPackageByIdResource.SourceRepository">
            <summary>
            Gets the source repository.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.RemoteV3FindPackageByIdResource.GetAllVersionsAsync(System.String,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets all package versions for a package ID.
            </summary>
            <param name="id">A package ID.</param>
            <param name="cacheContext">A source cache context.</param>
            <param name="logger">A logger.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:System.Collections.Generic.IEnumerable`1" />.</returns>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="id" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="cacheContext" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.RemoteV3FindPackageByIdResource.GetDependencyInfoAsync(System.String,NuGet.Versioning.NuGetVersion,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets dependency information for a specific package.
            </summary>
            <param name="id">A package id.</param>
            <param name="version">A package version.</param>
            <param name="cacheContext">A source cache context.</param>
            <param name="logger">A logger.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:System.Collections.Generic.IEnumerable`1" />.</returns>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="id" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="version" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="cacheContext" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.RemoteV3FindPackageByIdResource.CopyNupkgToStreamAsync(System.String,NuGet.Versioning.NuGetVersion,System.IO.Stream,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Asynchronously copies a .nupkg to a stream.
            </summary>
            <param name="id">A package ID.</param>
            <param name="version">A package version.</param>
            <param name="destination">A destination stream.</param>
            <param name="cacheContext">A source cache context.</param>
            <param name="logger">A logger.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:System.Boolean" /> indicating whether or not the .nupkg file was copied.</returns>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="id" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="version" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="destination" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="cacheContext" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.RemoteV3FindPackageByIdResource.GetPackageDownloaderAsync(NuGet.Packaging.Core.PackageIdentity,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets a package downloader for a package identity.
            </summary>
            <param name="packageIdentity">A package identity.</param>
            <param name="cacheContext">A source cache context.</param>
            <param name="logger">A logger.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an <see cref="T:NuGet.Packaging.IPackageDownloader" />.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="packageIdentity" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="cacheContext" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="M:NuGet.Protocol.RemoteV3FindPackageByIdResource.DoesPackageExistAsync(System.String,NuGet.Versioning.NuGetVersion,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Asynchronously check if exact package (id/version) exists at this source.
            </summary>
            <param name="id">A package id.</param>
            <param name="version">A package version.</param>
            <param name="cacheContext">A source cache context.</param>
            <param name="logger">A logger.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns an
            <see cref="T:System.Collections.Generic.IEnumerable`1" />.</returns>
            <exception cref="T:System.ArgumentException">Thrown if <paramref name="id" />
            is either <see langword="null" /> or an empty string.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="version" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="cacheContext" /> <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="T:NuGet.Protocol.DependencyInfoResourceV3">
            <summary>
            Retrieves all packages and dependencies from a V3 source.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.DependencyInfoResourceV3.#ctor(NuGet.Protocol.HttpSource,NuGet.Protocol.RegistrationResourceV3,NuGet.Protocol.Core.Types.SourceRepository)">
            <summary>
            Dependency info resource
            </summary>
            <param name="client">Http client</param>
            <param name="regResource">Registration blob resource</param>
        </member>
        <member name="M:NuGet.Protocol.DependencyInfoResourceV3.ResolvePackage(NuGet.Packaging.Core.PackageIdentity,NuGet.Frameworks.NuGetFramework,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Retrieve dependency info for a single package.
            </summary>
            <param name="package">package id and version</param>
            <param name="projectFramework">project target framework. This is used for finding the dependency group</param>
            <param name="token">cancellation token</param>
            <returns>
            Returns dependency info for the given package if it exists. If the package is not found null is
            returned.
            </returns>
        </member>
        <member name="M:NuGet.Protocol.DependencyInfoResourceV3.ResolvePackages(System.String,NuGet.Frameworks.NuGetFramework,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Retrieve the available packages and their dependencies.
            </summary>
            <remarks>Includes prerelease packages</remarks>
            <param name="packageId">package Id to search</param>
            <param name="projectFramework">project target framework. This is used for finding the dependency group</param>
            <param name="token">cancellation token</param>
            <returns>available packages and their dependencies</returns>
        </member>
        <member name="M:NuGet.Protocol.DependencyInfoResourceV3.ResolvePackages(System.String,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Retrieve the available packages and their dependencies.
            </summary>
            <remarks>Includes prerelease packages</remarks>
            <param name="packageId">package Id to search</param>
            <param name="token">cancellation token</param>
            <returns>available packages and their dependencies</returns>
        </member>
        <member name="M:NuGet.Protocol.DependencyInfoResourceV3.GetPackagesFromRegistration(NuGet.Protocol.RegistrationInfo,System.Threading.CancellationToken)">
            <summary>
            Retrieve dependency info from a registration blob
            </summary>
        </member>
        <member name="T:NuGet.Protocol.DownloadResourcePlugin">
            <summary>
            A download resource for plugins.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.DownloadResourcePlugin.#ctor(NuGet.Protocol.Plugins.IPlugin,NuGet.Protocol.Plugins.IPluginMulticlientUtilities,NuGet.Configuration.PackageSource)">
            <summary>
            Instantiates a new <see cref="T:NuGet.Protocol.DownloadResourcePlugin" /> class.
            </summary>
            <param name="plugin">A plugin.</param>
            <param name="utilities">A plugin multiclient utilities.</param>
            <param name="packageSource">A package source.</param>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="plugin" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="utilities" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="packageSource" />
            is <see langword="null" />.</exception>
        </member>
        <member name="M:NuGet.Protocol.DownloadResourcePlugin.GetDownloadResourceResultAsync(NuGet.Packaging.Core.PackageIdentity,NuGet.Protocol.Core.Types.PackageDownloadContext,System.String,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Asynchronously downloads a package.
            </summary>
            <param name="identity">The package identity.</param>
            <param name="downloadContext">A package download context.</param>
            <param name="globalPackagesFolder">The path to the global packages folder.</param>
            <param name="logger">A logger.</param>
            <param name="cancellationToken">A cancellation token.</param>
            <returns>A task that represents the asynchronous operation.
            The task result (<see cref="P:System.Threading.Tasks.Task`1.Result" />) returns
            a <see cref="T:NuGet.Protocol.Core.Types.DownloadResourceResult" />.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="identity" /> is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="downloadContext" />
            is <see langword="null" />.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown if <paramref name="logger" /> is <see langword="null" />.</exception>
            <exception cref="T:System.OperationCanceledException">Thrown if <paramref name="cancellationToken" />
            is cancelled.</exception>
        </member>
        <member name="T:NuGet.Protocol.DownloadResourceV3">
            <summary>
            Provides the download metatdata for a given package from a V3 server endpoint.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.DownloadResourceV3.#ctor(System.String,NuGet.Protocol.HttpSource,NuGet.Protocol.RegistrationResourceV3)">
            <summary>
            Download packages using the download url found in the registration resource.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.DownloadResourceV3.#ctor(System.String,NuGet.Protocol.HttpSource,System.String)">
            <summary>
            Download packages using the package base address container resource.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.DownloadResourceV3.GetDownloadUrl(NuGet.Packaging.Core.PackageIdentity,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Get the download url of the package.
            1. If the identity is a SourcePackageDependencyInfo the SourcePackageDependencyInfo.DownloadUri is used.
            2. A url will be constructed for the flat container location if the source has that resource.
            3. The download url will be found in the registration blob as a fallback.
            </summary>
        </member>
        <member name="T:NuGet.Protocol.IVulnerabilityInfoResource">
            <summary>A resource to get known package vulnerability information.</summary>
        </member>
        <member name="M:NuGet.Protocol.IVulnerabilityInfoResource.GetVulnerabilityInfoAsync(NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>Get the known package vulnerabilities from the current package source.</summary>
            <param name="cacheContext">The cache settings to use for any external requests.</param>
            <param name="logger">The logger for any messages.</param>
            <param name="cancellationToken">The cancellation token to cancel operation.</param>
            <returns>A result object with known package vulnerability information and any errors.</returns>
        </member>
        <member name="T:NuGet.Protocol.MetadataResourceV3">
            <summary>
            Returns the full package metadata
            </summary>
        </member>
        <member name="M:NuGet.Protocol.MetadataResourceV3.GetLatestVersions(System.Collections.Generic.IEnumerable{System.String},System.Boolean,System.Boolean,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Find the latest version of the package
            </summary>
            <param name="includePrerelease">include versions with prerelease labels</param>
            <param name="includeUnlisted">not implemented yet</param>
        </member>
        <member name="T:NuGet.Protocol.Resources.OwnerDetailsUriTemplateResourceV3">
            <summary>Owner Details Uri Template for NuGet V3 HTTP feeds.</summary>
            <remarks>Not intended to be created directly. Use <see cref="M:NuGet.Protocol.Core.Types.SourceRepository.GetResourceAsync``1(System.Threading.CancellationToken)"/>
            with <see cref="T:NuGet.Protocol.Resources.OwnerDetailsUriTemplateResourceV3"/> for T, and typecast to this class.
            </remarks>
        </member>
        <member name="M:NuGet.Protocol.Resources.OwnerDetailsUriTemplateResourceV3.CreateOrNull(System.Uri)">
            <summary>
            Creates the specified Owner Details Uri template provided by the server if it exists and is valid.
            </summary>
            <param name="uriTemplate">The Absolute Uri template provided by the server.</param>
            <returns>A valid Owner Details Uri template, or null.</returns>
        </member>
        <member name="M:NuGet.Protocol.Resources.OwnerDetailsUriTemplateResourceV3.GetUri(System.String)">
            <summary>
            Gets a URL for viewing package Owner URL outside of Visual Studio. The URL will not be verified to exist.
            </summary>
            <param name="owner">The owner username.</param>
            <returns>The first URL from the resource, with the URI template applied.</returns>
        </member>
        <member name="T:NuGet.Protocol.Resources.VulnerabilityInfoResourceV3">
            <summary>Implementation of <see cref="T:NuGet.Protocol.IVulnerabilityInfoResource"/> for NuGet V3 HTTP feeds.</summary>
            <remarks>Not intended to be created directly. Use <see cref="M:NuGet.Protocol.Core.Types.SourceRepository.GetResourceAsync``1(System.Threading.CancellationToken)"/>
            with <see cref="T:NuGet.Protocol.IVulnerabilityInfoResource"/> for T, and typecast to this class.
            <para>Implements the <a href="https://learn.microsoft.com/nuget/api/vulnerability-info-resource">VulnerabilityInfo server API resource</a>.</para></remarks>
        </member>
        <member name="M:NuGet.Protocol.Resources.VulnerabilityInfoResourceV3.GetVulnerabilityFilesAsync(NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>Get the vulnerability pages the server contains.</summary>
            <param name="cacheContext">The cache settings to use when making HTTP requests.</param>
            <param name="log">The logger for any messages.</param>
            <param name="cancellationToken">The cancellation token to cancel operation.</param>
            <returns>The list of vulnerability data pages the server claims to have.</returns>
            <exception cref="T:NuGet.Protocol.Core.Types.FatalProtocolException">When various HTTP or deserialization exceptions occur.</exception>
        </member>
        <member name="M:NuGet.Protocol.Resources.VulnerabilityInfoResourceV3.GetVulnerabilityDataAsync(NuGet.Protocol.Model.V3VulnerabilityIndexEntry,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>Get the known vulnerability data for a single page from the server.</summary>
            <param name="vulnerabilityPage">The page to get data from</param>
            <param name="cacheContext">The cache settings if HTTP requests are made.</param>
            <param name="logger">The logger for messages.</param>
            <param name="cancellationToken">The cancelation token to cancel operation.</param>
            <returns>The known vulnerabilities defined in the file.</returns>
            <exception cref="T:NuGet.Protocol.Core.Types.FatalProtocolException">If various HTTP or deserialization exceptions occur.</exception>
        </member>
        <member name="M:NuGet.Protocol.Resources.VulnerabilityInfoResourceV3.GetVulnerabilityInfoAsync(NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <inheritdoc cref="M:NuGet.Protocol.IVulnerabilityInfoResource.GetVulnerabilityInfoAsync(NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)"/>
        </member>
        <member name="M:NuGet.Protocol.PackageDetailsUriResourceV3.GetUri(System.String,NuGet.Versioning.NuGetVersion)">
            <summary>
            Gets a URL for viewing package details outside of Visual Studio. The URL will not be verified to exist.
            </summary>
            <param name="id">The package id (any casing).</param>
            <param name="version">The package version.</param>
            <returns>The first URL from the resource, with the URI template applied.</returns>
        </member>
        <member name="M:NuGet.Protocol.PackageMetadataResourceV3.GetMetadataAsync(System.String,System.Boolean,System.Boolean,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <param name="packageId">PackageId for package we're looking.</param>
            <param name="includePrerelease">Whether to include PreRelease versions into result.</param>
            <param name="includeUnlisted">Whether to include Unlisted versions into result.</param>
            <param name="sourceCacheContext">SourceCacheContext for cache.</param>
            <param name="log">Logger Instance.</param>
            <param name="token">Cancellation token.</param>
            <returns>List of package metadata.</returns>
        </member>
        <member name="M:NuGet.Protocol.PackageMetadataResourceV3.GetMetadataAsync(NuGet.Packaging.Core.PackageIdentity,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Returns the registration metadata for the id and version
            </summary>
            <param name="package"></param>
            <param name="sourceCacheContext"></param>
            <param name="log"></param>
            <param name="token"></param>
            <returns>Package meta data.</returns>
            <remarks>The inlined entries are potentially going away soon</remarks>
        </member>
        <member name="M:NuGet.Protocol.PackageMetadataResourceV3.DeserializeStreamDataAsync``1(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Deserialize stream from RegistrationIndex/RegistrationPage and return list of RegistrationPages or RegistrationPage.
            </summary>
            <typeparam name="T">Generic type</typeparam>
            <param name="stream">Stream data to read.</param>
            <param name="token">Cancellation token.</param>
            <returns></returns>
        </member>
        <member name="M:NuGet.Protocol.PackageMetadataResourceV3.LoadRegistrationIndexAsync(NuGet.Protocol.HttpSource,System.Uri,System.String,NuGet.Protocol.Core.Types.SourceCacheContext,System.Func{NuGet.Protocol.HttpSourceResult,System.Threading.Tasks.Task{NuGet.Protocol.Model.RegistrationIndex}},NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Query RegistrationIndex from nuget server for Package Manager UI. This implementation optimized for performance so instead of keeping giant JObject in memory we use strong types.
            </summary>
            <param name="httpSource">Httpsource instance</param>
            <param name="registrationUri">Package registration url</param>
            <param name="packageId">PackageId for package we're looking.</param>
            <param name="cacheContext">CacheContext for cache.</param>
            <param name="processAsync">Func expression used for HttpSource.cs</param>
            <param name="log">Logger Instance.</param>
            <param name="token">Cancellation token.</param>
            <returns></returns>
        </member>
        <member name="M:NuGet.Protocol.PackageMetadataResourceV3.GetRegistratioIndexPageAsync(NuGet.Protocol.HttpSource,System.String,System.String,NuGet.Versioning.NuGetVersion,NuGet.Versioning.NuGetVersion,NuGet.Protocol.Core.Types.HttpSourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Process RegistrationIndex 
            </summary>
            <param name="httpSource">Httpsource instance.</param>
            <param name="rangeUri">Paged registration index url address.</param>
            <param name="packageId">PackageId for package we're checking.</param>
            <param name="lower">Lower bound of nuget package.</param>
            <param name="upper">Upper bound of nuget package.</param>
            <param name="httpSourceCacheContext">SourceCacheContext for cache.</param>
            <param name="log">Logger Instance.</param>
            <param name="token">Cancellation token.</param>
            <returns></returns>
        </member>
        <member name="M:NuGet.Protocol.PackageMetadataResourceV3.ProcessRegistrationPage(NuGet.Protocol.Model.RegistrationPage,System.Collections.Generic.List{NuGet.Protocol.PackageSearchMetadataRegistration},NuGet.Versioning.VersionRange,System.Boolean,System.Boolean,NuGet.Protocol.MetadataReferenceCache)">
            <summary>
            Process RegistrationPage
            </summary>
            <param name="registrationPage">Nuget registration page.</param>
            <param name="results">Used to return nuget result.</param>
            <param name="range">Nuget version range.</param>
            <param name="includePrerelease">Whether to include PreRelease versions into result.</param>
            <param name="includeUnlisted">Whether to include Unlisted versions into result.</param>
        </member>
        <member name="M:NuGet.Protocol.PackageSearchResourceV3.SearchAsync(System.String,NuGet.Protocol.Core.Types.SearchFilter,System.Int32,System.Int32,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Query nuget package list from nuget server. This implementation optimized for performance so doesn't iterate whole result 
            returned nuget server, so as soon as find "take" number of result packages then stop processing and return the result. 
            </summary>
            <param name="searchTerm">The term we're searching for.</param>
            <param name="filter">Filter for whether to include prerelease, delisted, supportedframework flags in query.</param>
            <param name="skip">Skip how many items from beginning of list.</param>
            <param name="take">Return how many items.</param>
            <param name="log">Logger instance.</param>
            <param name="cancellationToken">Cancellation token.</param>
            <returns>List of package meta data.</returns>
        </member>
        <member name="M:NuGet.Protocol.PackageSearchResourceV3.Search(System.String,NuGet.Protocol.Core.Types.SearchFilter,System.Int32,System.Int32,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Query nuget package list from nuget server. This implementation optimized for performance so doesn't iterate whole result 
            returned nuget server, so as soon as find "take" number of result packages then stop processing and return the result. 
            </summary>
            <param name="searchTerm">The term we're searching for.</param>
            <param name="filters">Filter for whether to include prerelease, delisted, supportedframework flags in query.</param>
            <param name="skip">Skip how many items from beginning of list.</param>
            <param name="take">Return how many items.</param>
            <param name="log">Logger instance.</param>
            <param name="cancellationToken">Cancellation token.</param>
            <returns>List of package meta data.</returns>
        </member>
        <member name="T:NuGet.Protocol.ReadmeUriTemplateResource">
            <summary>
            A resource that provides the URI for downloading a README file based on a template.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.ReadmeUriTemplateResource.GetReadmeUrl(System.String,NuGet.Versioning.NuGetVersion)">
            <summary>
            Get the URL for downloading the readme file.
            </summary>
            <param name="id">The package id</param>
            <param name="version">The package version</param>
            <returns>URL to download README, built using the URI template.</returns>
        </member>
        <member name="T:NuGet.Protocol.RegistrationResourceV3">
            <summary>
            Registration blob reader
            </summary>
        </member>
        <member name="P:NuGet.Protocol.RegistrationResourceV3.BaseUri">
            <summary>
            Gets the <see cref="T:System.Uri"/> for the source backing this resource.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.RegistrationResourceV3.GetUri(System.String)">
            <summary>
            Constructs the URI of a registration index blob
            </summary>
        </member>
        <member name="M:NuGet.Protocol.RegistrationResourceV3.GetUri(System.String,NuGet.Versioning.NuGetVersion)">
            <summary>
            Constructs the URI of a registration blob with a specific version
            </summary>
        </member>
        <member name="M:NuGet.Protocol.RegistrationResourceV3.GetUri(NuGet.Packaging.Core.PackageIdentity)">
            <summary>
            Constructs the URI of a registration blob with a specific version
            </summary>
        </member>
        <member name="M:NuGet.Protocol.RegistrationResourceV3.GetPackageMetadata(NuGet.Packaging.Core.PackageIdentity,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Returns the registration blob for the id and version
            </summary>
            <remarks>The inlined entries are potentially going away soon</remarks>
        </member>
        <member name="M:NuGet.Protocol.RegistrationResourceV3.GetPackageMetadata(System.String,System.Boolean,System.Boolean,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Returns inlined catalog entry items for each registration blob
            </summary>
            <remarks>The inlined entries are potentially going away soon</remarks>
        </member>
        <member name="M:NuGet.Protocol.RegistrationResourceV3.GetPackageMetadata(System.String,NuGet.Versioning.VersionRange,System.Boolean,System.Boolean,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Returns inlined catalog entry items for each registration blob
            </summary>
            <remarks>The inlined entries are potentially going away soon</remarks>
        </member>
        <member name="M:NuGet.Protocol.RegistrationResourceV3.GetPackageEntries(System.String,System.Boolean,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Returns all index entries of type Package within the given range and filters
            </summary>
        </member>
        <member name="M:NuGet.Protocol.ReportAbuseResourceV3.GetReportAbuseUrl(System.String,NuGet.Versioning.NuGetVersion)">
            <summary>
            Gets a URL for reporting package abuse. The URL will not be verified to exist.
            </summary>
            <param name="id">The package id (natural casing)</param>
            <param name="version">The package version</param>
            <returns>The first URL from the resource, with the URI template applied.</returns>
        </member>
        <member name="T:NuGet.Protocol.ServiceIndexResourceV3">
            <summary>
            Stores/caches a service index json file.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.ServiceIndexResourceV3.RequestTime">
            <summary>
            Time the index was requested
            </summary>
        </member>
        <member name="P:NuGet.Protocol.ServiceIndexResourceV3.Entries">
            <summary>
            All service index entries.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.ServiceIndexResourceV3.GetServiceEntries(System.String[])">
            <summary>
            Get the list of service entries that best match the current clientVersion and type.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.ServiceIndexResourceV3.GetServiceEntries(NuGet.Versioning.NuGetVersion,System.String[])">
            <summary>
            Get the list of service entries that best match the clientVersion and type.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.ServiceIndexResourceV3.GetServiceEntryUri(System.String[])">
            <summary>
            Get the best match service URI.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.ServiceIndexResourceV3.GetServiceEntryUris(System.String[])">
            <summary>
            Get the list of service URIs that best match the current clientVersion and type.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.ServiceIndexResourceV3.GetServiceEntryUris(NuGet.Versioning.NuGetVersion,System.String[])">
            <summary>
            Get the list of service URIs that best match the clientVersion and type.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.ServiceIndexResourceV3.GetValues(Newtonsoft.Json.Linq.JToken)">
            <summary>
            Read string values from an array or string.
            Returns an empty enumerable if the value is null.
            </summary>
        </member>
        <member name="T:NuGet.Protocol.Strings">
            <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.ResourceManager">
            <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.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.Protocol.Strings.AddPackage_ExistingPackageInvalid">
            <summary>
              Looks up a localized string similar to Package &apos;{0}&apos; already exists at feed &apos;{1}&apos; and is invalid..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.AddPackage_PackageAlreadyExists">
            <summary>
              Looks up a localized string similar to Package &apos;{0}&apos; already exists at feed &apos;{1}&apos;..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.AddPackage_SuccessfullyAdded">
            <summary>
              Looks up a localized string similar to Successfully added package &apos;{0}&apos; to feed &apos;{1}&apos;..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Argument_Cannot_Be_Null_Or_Empty">
            <summary>
              Looks up a localized string similar to Argument can not be null or empty..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.ArgumentCannotBeNullOrEmpty">
            <summary>
              Looks up a localized string similar to Argument cannot be null or empty..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.DefaultSymbolServer">
            <summary>
              Looks up a localized string similar to the symbol server.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.DeleteCommandCanceled">
            <summary>
              Looks up a localized string similar to Delete canceled.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.DeleteCommandConfirm">
            <summary>
              Looks up a localized string similar to {0} {1} will be deleted from the {2}. Would you like to continue?.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.DeleteCommandDeletedPackage">
            <summary>
              Looks up a localized string similar to {0} {1} was deleted successfully..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.DeleteCommandDeletingPackage">
            <summary>
              Looks up a localized string similar to Deleting {0} {1} from the {2}..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.DeletePackage_NotFound">
            <summary>
              Looks up a localized string similar to Not Found..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Error_DownloadTimeout">
            <summary>
              Looks up a localized string similar to The download of &apos;{0}&apos; timed out because no data was received for {1}ms..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Error_HttpServerUsage">
            <summary>
              Looks up a localized string similar to You are running the &apos;{0}&apos; operation with an &apos;HTTP&apos; source, &apos;{1}&apos;. NuGet requires HTTPS sources. To use HTTP sources, you must explicitly set &apos;allowInsecureConnections&apos; to true in your NuGet.Config file. Refer to https://aka.ms/nuget-https-everywhere for more information..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Error_Insecure_HTTP">
            <summary>
              Looks up a localized string similar to You are using a NuGet source &apos;{0}&apos; that contains an &apos;HTTP&apos; service index resource endpoint: &apos;{1}&apos;. This is insecure and not recommended. To allow HTTP resources, you must explicitly set &apos;allowInsecureConnections&apos; to true in your NuGet.Config file. For more information, visit https://aka.ms/nuget-https-everywhere..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Error_Invalid_package_id">
            <summary>
              Looks up a localized string similar to Invalid package id : `{0}`..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Http_CredentialsForForbidden">
            <summary>
              Looks up a localized string similar to The server responded with HTTP &apos;403 Forbidden&apos; when accessing the source &apos;{0}&apos;. This suggests that the server has authenticated your identity but has not permitted you to access the requested resource. Provide credentials that have permissions to view this resource..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Http_CredentialsForProxy">
            <summary>
              Looks up a localized string similar to The server responded with HTTP &apos;407 Proxy Authentication Required&apos; when accessing the proxy &apos;{0}&apos;. This suggests that the server needs credentials to authenticate your identity to use a proxy. Provide credentials to access this resource..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Http_CredentialsForUnauthorized">
            <summary>
              Looks up a localized string similar to The server responded with HTTP &apos;401 Unauthorized&apos; when accessing the source &apos;{0}&apos;. This suggests that the server needs credentials to authenticate your identity. Provide credentials to access this resource..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Http_RequestLog">
            <summary>
              Looks up a localized string similar to {0} {1}.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Http_ResponseLog">
            <summary>
              Looks up a localized string similar to {0} {1} {2}ms.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Http_ResponseLogWithRetryAfter">
            <summary>
              Looks up a localized string similar to {0} {1} {2}ms (retry after: {3}s).
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Http_Timeout">
            <summary>
              Looks up a localized string similar to The HTTP request to &apos;{0} {1}&apos; has timed out after {2}ms..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.InvalidVersionFolder">
            <summary>
              Looks up a localized string similar to The folder &apos;{0}&apos; contains an invalid version..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.LiveFeed">
            <summary>
              Looks up a localized string similar to the NuGet gallery.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.LoadFileFromNupkg_FileNotFound">
            <summary>
              Looks up a localized string similar to The file &apos;{0}&apos; does not exist in the package..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.LoadFileFromNupkg_FileTooLarge">
            <summary>
              Looks up a localized string similar to Cannot load the file &apos;{0}&apos; because it is larger than {1} MB..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.LoadFileFromNupkg_UnknownProblemLoadingTheFile">
            <summary>
              Looks up a localized string similar to Unknown problem loading the file &apos;{0}&apos;..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Log_CanceledNupkgDownload">
            <summary>
              Looks up a localized string similar to Downloading a package from &apos;{0}&apos; was canceled..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Log_ErrorDownloading">
            <summary>
              Looks up a localized string similar to Error downloading &apos;{0}&apos; from &apos;{1}&apos;..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Log_FailedToDownloadPackage">
            <summary>
              Looks up a localized string similar to Failed to download package &apos;{0}&apos; from &apos;{1}&apos;..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Log_FailedToFetchV2Feed">
            <summary>
              Looks up a localized string similar to The V2 feed at &apos;{0}&apos; returned an unexpected status code &apos;{1} {2}&apos;..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Log_FailedToFetchV2FeedHttp">
            <summary>
              Looks up a localized string similar to Failed to fetch results from V2 feed at &apos;{0}&apos; with following message : {1}.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Log_FailedToGetNuspecStream">
            <summary>
              Looks up a localized string similar to Unable to load nuspec from package &apos;{0}&apos;..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Log_FailedToParseRepoSignInfor">
            <summary>
              Looks up a localized string similar to Unable to parse {0} information from {1}. .
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Log_FailedToReadRepositorySignature">
            <summary>
              Looks up a localized string similar to Unable to get repository signature information for source {0}..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Log_FailedToReadServiceIndex">
            <summary>
              Looks up a localized string similar to Unable to load the service index for source {0}..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Log_FailedToRetrievePackage">
            <summary>
              Looks up a localized string similar to Failed to retrieve information about &apos;{0}&apos; from remote source &apos;{1}&apos;..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Log_FailedToVerifyRootDirectory">
            <summary>
              Looks up a localized string similar to Failed to verify the root directory of local source &apos;{0}&apos;..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Log_FailedToVerifyValidFile">
            <summary>
              Looks up a localized string similar to Failed to validate the file &apos;{0}&apos;..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Log_FileIsCorrupt">
            <summary>
              Looks up a localized string similar to The file &apos;{0}&apos; is corrupt..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Log_InvalidCacheEntry">
            <summary>
              Looks up a localized string similar to An invalid cache entry was found for URL &apos;{0}&apos; and will be replaced..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Log_InvalidNupkgFromUrl">
            <summary>
              Looks up a localized string similar to The nupkg at &apos;{0}&apos; is not valid..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Log_LocalSourceNotExist">
            <summary>
              Looks up a localized string similar to The local source &apos;{0}&apos; doesn&apos;t exist..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Log_RetryingFindPackagesById">
            <summary>
              Looks up a localized string similar to Retrying &apos;{0}&apos; for source &apos;{1}&apos;..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Log_RetryingHttp">
            <summary>
              Looks up a localized string similar to An error was encountered when fetching &apos;{0} {1}&apos;. The request will now be retried..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Log_RetryingRepositorySignature">
            <summary>
              Looks up a localized string similar to Retrying repository signature request for source &apos;{0}&apos;..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Log_RetryingServiceIndex">
            <summary>
              Looks up a localized string similar to Retrying service index request for source &apos;{0}&apos;..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.NoApiKeyFound">
            <summary>
              Looks up a localized string similar to No API Key was provided and no API Key could be found for {0}. To save an API Key for a source use the &apos;setApiKey&apos; command..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.NuGetLicense_LicenseExpressionVersionTooHigh">
            <summary>
              Looks up a localized string similar to The license version string &apos;{0}&apos; is higher than the one supported by this toolset &apos;{1}&apos;..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.NuGetLicenseExpression_NonStandardIdentifier">
            <summary>
              Looks up a localized string similar to The license identifier(s) {0} is(are) not recognized by the current toolset..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.NupkgPath_Invalid">
            <summary>
              Looks up a localized string similar to &apos;{0}&apos; is not a valid nupkg file..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.NupkgPath_InvalidEx">
            <summary>
              Looks up a localized string similar to &apos;{0}&apos; is not a valid nupkg file. Error: &apos;{1}&apos;..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.OneOrMoreUrisMustBeSpecified">
            <summary>
              Looks up a localized string similar to One or more URIs must be specified..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.PackageNotFound">
            <summary>
              Looks up a localized string similar to Unable to find package &apos;{0}&apos;..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.PackageServerEndpoint_NotSupported">
            <summary>
              Looks up a localized string similar to ERROR: This version of nuget.exe does not support updating packages to package source &apos;{0}&apos;..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Path_Invalid">
            <summary>
              Looks up a localized string similar to &apos;{0}&apos; is not a valid path..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Path_Invalid_NotFileNotUnc">
            <summary>
              Looks up a localized string similar to &apos;{0}&apos; should be a local path or a UNC share path..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Plugin_ConnectionAlreadyStarted">
            <summary>
              Looks up a localized string similar to A connection has already been started..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Plugin_ConnectionIsClosed">
            <summary>
              Looks up a localized string similar to The plugin connection is closed..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Plugin_DownloadNotSupportedSinceUnsignedNotAllowed">
            <summary>
              Looks up a localized string similar to Downloading a package from a plugin is not supported since unsigned packages are not allowed and package download plugins do not support signed package verification..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Plugin_Exception">
            <summary>
              Looks up a localized string similar to Plugin &apos;{0}&apos; failed with the exception:  {1}.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Plugin_FailedOnCreation">
            <summary>
              Looks up a localized string similar to Plugin &apos;{0}&apos; failed within {1:N3} seconds with exit code {2}..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Plugin_FailedOperationForPackage">
            <summary>
              Looks up a localized string similar to Plugin &apos;{0}&apos; failed a {1} operation for package {2}.{3}..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Plugin_FailureQueryingPackageVersions">
            <summary>
              Looks up a localized string similar to A failure occurred while attempting to query package versions for package &apos;{0}&apos; using the plugin at &apos;{1}&apos;..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Plugin_Fault">
            <summary>
              Looks up a localized string similar to Terminating plugin &apos;{0}&apos; due to an unrecoverable fault:  {1}.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Plugin_FileNotFound">
            <summary>
              Looks up a localized string similar to A plugin was not found at path &apos;{0}&apos;..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Plugin_HandshakeFailed">
            <summary>
              Looks up a localized string similar to The plugin handshake failed..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Plugin_HandshakeRequestHandlerAlreadyExists">
            <summary>
              Looks up a localized string similar to A handshake request handler already exists..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Plugin_IdleTimeoutMustBeGreaterThanOrEqualToInfiniteTimeSpan">
            <summary>
              Looks up a localized string similar to The idle timeout must be greater than or equal to System.Threading.Timeout.InfiniteTimeSpan..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Plugin_InitializationFailed">
            <summary>
              Looks up a localized string similar to Plugin initialization failed..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Plugin_InvalidEmbeddedSignature">
            <summary>
              Looks up a localized string similar to The plugin at &apos;{0}&apos; did not have a valid embedded signature..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Plugin_InvalidMessageType">
            <summary>
              Looks up a localized string similar to The message type &apos;{0}&apos; is invalid at this time..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Plugin_InvalidPluginFilePath">
            <summary>
              Looks up a localized string similar to The plugin file path &apos;{0}&apos; is invalid..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Plugin_NotConnected">
            <summary>
              Looks up a localized string similar to A plugin is not connected..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Plugin_PackageDownloadFailed">
            <summary>
              Looks up a localized string similar to Plugin &apos;{0}&apos; failed to download package &apos;{1}&apos;..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Plugin_ProblemStartingPlugin">
            <summary>
              Looks up a localized string similar to Problem starting the plugin &apos;{0}&apos;. {1}.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Plugin_ProtocolException">
            <summary>
              Looks up a localized string similar to A plugin protocol exception occurred..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Plugin_ProtocolVersionNotSupportedOnError">
            <summary>
              Looks up a localized string similar to A protocol version is not supported on error..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Plugin_ProtocolVersionOutOfRange">
            <summary>
              Looks up a localized string similar to &apos;{0}&apos; must be greater than or equal to &apos;{1}&apos;..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Plugin_RequestContextDoesNotExist">
            <summary>
              Looks up a localized string similar to Request context does not exist for request ID &apos;{0}&apos;..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Plugin_RequestHandlerDoesNotExist">
            <summary>
              Looks up a localized string similar to A request handler does not exist for the message method &apos;{0}&apos;..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Plugin_TimeoutOutOfRange">
            <summary>
              Looks up a localized string similar to Timeout must be greater than TimeSpan.Zero and less than or equal to TimeSpan.FromMilliseconds(int.MaxValue)..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Plugin_UnrecognizedEnumValue">
            <summary>
              Looks up a localized string similar to The enum value &apos;{0}&apos; is unrecognized..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Plugin_UnrecognizedOperationClaims">
            <summary>
              Looks up a localized string similar to The operation claims are unrecognized:  {0}..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Protocol_BadSource">
            <summary>
              Looks up a localized string similar to Failed to retrieve metadata from source &apos;{0}&apos;..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Protocol_duplicateUri">
            <summary>
              Looks up a localized string similar to &apos;{0}&apos; is a duplicate url which has already been downloaded and will lead to a cyclic dependency. Please correct from server..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Protocol_InvalidJsonObject">
            <summary>
              Looks up a localized string similar to The content at &apos;{0}&apos; is not a valid JSON object..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Protocol_InvalidXml">
            <summary>
              Looks up a localized string similar to The content at &apos;{0}&apos; is not valid XML..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Protocol_MalformedMetadataError">
            <summary>
              Looks up a localized string similar to Metadata could not be loaded from the source &apos;{0}&apos;..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Protocol_MissingSearchService">
            <summary>
              Looks up a localized string similar to The source does not have a Search service!.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Protocol_MissingVersion">
            <summary>
              Looks up a localized string similar to The source does not have the &apos;version&apos; property..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Protocol_PackageMetadataError">
            <summary>
              Looks up a localized string similar to An error occurred while retrieving package metadata for &apos;{0}&apos; from source &apos;{1}&apos;..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Protocol_Search_LocalSourceNotFound">
            <summary>
              Looks up a localized string similar to The path &apos;{0}&apos; for the selected source could not be resolved..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Protocol_UnsupportedVersion">
            <summary>
              Looks up a localized string similar to The source version is not supported: &apos;{0}&apos;..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.PushCommandPackagePushed">
            <summary>
              Looks up a localized string similar to Your package was pushed..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.PushCommandPushingPackage">
            <summary>
              Looks up a localized string similar to Pushing {0} to {1}....
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.PushCommandSkipDuplicateAdvertiseDotnetExe">
            <summary>
              Looks up a localized string similar to To skip already published packages, use the option --skip-duplicate.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.PushCommandSkipDuplicateAdvertiseNuGetExe">
            <summary>
              Looks up a localized string similar to To skip already published packages, use the option -SkipDuplicate.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.PushCommandSkipDuplicateNotImplemented">
            <summary>
              Looks up a localized string similar to The option to skip duplicates is not currently supported for this type of push..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.RepositoryContentUrlMustBeHttps">
            <summary>
              Looks up a localized string similar to Repository content URL for repository signatures must be HTTPS..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.RepositorySignaturesResourceMustBeHttps">
            <summary>
              Looks up a localized string similar to Repository Signatures resouce must be served over HTTPS. Source: {0}.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.StringCannotBeNullOrEmpty">
            <summary>
              Looks up a localized string similar to String argument &apos;{0}&apos; cannot be null or empty.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.UnableToFindFile">
            <summary>
              Looks up a localized string similar to File does not exist ({0})..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.UnableToParseFolderV3Version">
            <summary>
              Looks up a localized string similar to Unable to parse a valid version from a v3 folder: &apos;{0}&apos;..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Vulnerability_TooManyPages">
            <summary>
              Looks up a localized string similar to Package source &apos;{0}&apos; has {1} vulnerability data pages. Using the first {2}..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.VulnerabilityPage_CouldNotLoad">
            <summary>
              Looks up a localized string similar to Package source &apos;{0}&apos; vulnerability data index &apos;{1}&apos; could not be loaded. This indicates a problem with the JSON file contents returned from the server..
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.VulnerabilityPage_HasNoName">
            <summary>
              Looks up a localized string similar to Vulnerability page index {0} does not contain a name (Source: &apos;{1}&apos;).
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.VulnerabilityPage_NameHasInvalidCharacters">
            <summary>
              Looks up a localized string similar to Vulnerability page index {0} contains invalid characters (Source: &apos;{1}&apos;).
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.VulnerabilityPage_NameNotUnique">
            <summary>
              Looks up a localized string similar to Vulnerability page name &apos;{0}&apos; is not unique. Only using the first (Source: &apos;{1}&apos;).
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.VulnerabilityPage_NameTooLong">
            <summary>
              Looks up a localized string similar to Vulnerability page index {0} name is longer than {1} characters (Source: &apos;{2}&apos;).
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.VulnerabilityPage_NoUrl">
            <summary>
              Looks up a localized string similar to Vulnerability page &apos;{0}&apos; does not contain a URL (Source: &apos;{1}&apos;).
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.VulnerabilityPage_UrlNotHttp">
            <summary>
              Looks up a localized string similar to Vulnerability page &apos;{0}&apos; contains URL that is not http(s) (Source: &apos;{1}&apos;).
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Strings.Warning_SymbolServerNotConfigured">
            <summary>
              Looks up a localized string similar to Found symbols package &apos;{0}&apos;, but no API key was specified for the symbol server. To save an API Key, run &apos;NuGet.exe setApiKey [your API key from http://www.NuGet.org]&apos;..
            </summary>
        </member>
        <member name="M:NuGet.Protocol.CachingUtility.ComputeHash(System.String,System.Boolean)">
            <summary>
            Given a string, it hashes said string and if <paramref name="addIdentifiableCharacters"/> is true appends identifiable characters to make the root of the cache more human readable
            </summary>
            <param name="value"></param>
            <param name="addIdentifiableCharacters">whether to addIdentifiableCharacters. The default is true</param>
            <returns>hash</returns>
        </member>
        <member name="T:NuGet.Protocol.DedicatedAsynchronousProcessingThread">
            <summary>
            This class represents a dedicated asynchronous task processing thread.
            Uses a queue to execute all the tasks added through the invocation of <see cref="M:NuGet.Protocol.DedicatedAsynchronousProcessingThread.Enqueue(System.Func{System.Threading.Tasks.Task})"/>.
            The tasks queued here cannot be awaited (think Task.Run, rather than Task.WhenAny/WhenAll).
            This implementation is internal on purpose as this is specifically tailed to the plugin V2 use-case.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.DedicatedAsynchronousProcessingThread.#ctor(System.TimeSpan)">
            <summary>
            DedicatedAsync processing thread.
            </summary>
            <param name="pollingDelay">The await delay when there are no tasks in the queue.</param>
        </member>
        <member name="M:NuGet.Protocol.DedicatedAsynchronousProcessingThread.Enqueue(System.Func{System.Threading.Tasks.Task})">
            <summary>
            Queueus a task for execution.
            </summary>
            <param name="task">Task to be executed.</param>
        </member>
        <member name="M:NuGet.Protocol.FeedTypeUtility.GetFeedType(NuGet.Configuration.PackageSource)">
            <summary>
            Determine the type of a nuget source. This works for both offline and online sources.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.FindPackagesByIdNupkgDownloader.GetNuspecReaderFromNupkgAsync(NuGet.Packaging.Core.PackageIdentity,System.String,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Gets a <see cref="T:NuGet.Packaging.NuspecReader"/> from a .nupkg. If the URL cannot be fetched or there is a problem
            processing the .nuspec, an exception is throw. This method uses HTTP caching to avoid downloading the
            package over and over (unless <see cref="P:NuGet.Protocol.Core.Types.SourceCacheContext.DirectDownload"/> is specified).
            </summary>
            <param name="identity">The package identity.</param>
            <param name="url">The URL of the .nupkg.</param>
            <param name="cacheContext">The cache context.</param>
            <param name="token">The cancellation token.</param>
            <returns>The .nuspec reader.</returns>
        </member>
        <member name="M:NuGet.Protocol.FindPackagesByIdNupkgDownloader.CopyNupkgToStreamAsync(NuGet.Packaging.Core.PackageIdentity,System.String,System.IO.Stream,NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Copies a .nupkg stream to the <paramref name="destination"/> stream. If the .nupkg cannot be found or if
            there is a network problem, no stream copy occurs.
            </summary>
            <param name="identity">The package identity.</param>
            <param name="url">The URL of the .nupkg.</param>
            <param name="destination">The destination stream. The .nupkg will be copied to this stream.</param>
            <param name="cacheContext">The cache context.</param>
            <param name="token">The cancellation token.</param>
            <returns>Returns true if the stream was copied, false otherwise.</returns>
        </member>
        <member name="M:NuGet.Protocol.FindPackagesByIdNupkgDownloader.ProcessNupkgStreamAsync(NuGet.Packaging.Core.PackageIdentity,System.String,System.Func{System.IO.Stream,System.Threading.Tasks.Task},NuGet.Protocol.Core.Types.SourceCacheContext,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Manages the different ways of getting a .nupkg stream when using the global HTTP cache. When a stream is
            found, the <paramref name="processStreamAsync"/> method is invoked on said stream. This deals with the
            complexity of <see cref="P:NuGet.Protocol.Core.Types.SourceCacheContext.DirectDownload"/>.
            </summary>
            <param name="identity">The package identity.</param>
            <param name="url">The URL of the .nupkg to fetch.</param>
            <param name="processStreamAsync">The method to process the stream.</param>
            <param name="cacheContext">The cache context.</param>
            <param name="token">The cancellation token.</param>
            <returns>
            Returns true if the stream was processed, false if the stream could not fetched (either from the HTTP cache
            or from the network).
            </returns>
        </member>
        <member name="M:NuGet.Protocol.GetDownloadResultUtility.CleanUpDirectDownloads(NuGet.Protocol.Core.Types.PackageDownloadContext)">
            <summary>
            Allow explicit clean-up of direct download files. This is important because although direct downloads are
            opened with the <see cref="F:System.IO.FileOptions.DeleteOnClose"/> option, some systems (e.g. Linux) do not perform
            the delete if the process dies. Additionally, if the system dies before the process dies (e.g. loss of
            power), the direct download files will be left over.
            </summary>
            <param name="downloadContext">The download context.</param>
        </member>
        <member name="P:NuGet.Protocol.Utility.JsonContext.Boolean">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Utility.JsonContext.FlatContainerVersionList">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Utility.JsonContext.VulnerabilityPage">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Utility.JsonContext.PackageVulnerabilityInfo">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Utility.JsonContext.V3VulnerabilityIndexEntry">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Utility.JsonContext.PackageVulnerabilitySeverity">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Utility.JsonContext.FloatRange">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Utility.JsonContext.NuGetVersion">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Utility.JsonContext.NuGetVersionFloatBehavior">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Utility.JsonContext.VersionRange">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Utility.JsonContext.IEnumerableString">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Utility.JsonContext.IReadOnlyListPackageVulnerabilityInfo">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Utility.JsonContext.VulnerabilityIndex">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Utility.JsonContext.ListString">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Utility.JsonContext.Uri">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Utility.JsonContext.Version">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Utility.JsonContext.Int32">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Utility.JsonContext.String">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Utility.JsonContext.Default">
            <summary>
            The default <see cref="T:System.Text.Json.Serialization.JsonSerializerContext"/> associated with a default <see cref="T:System.Text.Json.JsonSerializerOptions"/> instance.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.Utility.JsonContext.GeneratedSerializerOptions">
            <summary>
            The source-generated options associated with this context.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.Utility.JsonContext.#ctor">
            <inheritdoc/>
        </member>
        <member name="M:NuGet.Protocol.Utility.JsonContext.#ctor(System.Text.Json.JsonSerializerOptions)">
            <inheritdoc/>
        </member>
        <member name="M:NuGet.Protocol.Utility.JsonContext.GetTypeInfo(System.Type)">
            <inheritdoc/>
        </member>
        <member name="F:NuGet.Protocol.JsonUtility.DefaultLoadSettings">
            <summary>
            JsonLoadSettings with line info and comments ignored.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.JsonUtility.LoadJson(System.IO.TextReader)">
            <summary>
            Load json from a file to a JObject using the default load settings.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.JsonUtility.LoadJson(Newtonsoft.Json.JsonReader)">
            <summary>
            Load json from a file to a JObject using the default load settings.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.GetPackage(System.Uri,NuGet.Common.ILogger)">
            <summary>
            Retrieve a nupkg using the path.
            </summary>
            <param name="path">Nupkg path in uri form.</param>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.GetPackagesV2(System.String,NuGet.Common.ILogger)">
            <summary>
            Retrieve all packages from a folder and one level deep.
            </summary>
            <param name="root">Nupkg folder directory path.</param>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.GetPackagesV2(System.String,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Retrieve all packages from a folder and one level deep.
            </summary>
            <param name="root">Folder path</param>
            <param name="log">Logger</param>
            <param name="cancellationToken">Cancellation token</param>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.GetPackagesV2(System.String,System.String,NuGet.Common.ILogger)">
            <summary>
            Retrieve all packages of an id from a v2 folder.
            </summary>
            <param name="root">Nupkg folder directory path.</param>
            <param name="id">Package id.</param>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.GetPackagesV2(System.String,System.String,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Retrieve all packages of an id from a v2 folder.
            </summary>
            <param name="root">Nupkg folder directory path.</param>
            <param name="id">Package id.</param>
            <param name="cancellationToken">Cancellation token</param>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.GetPackageV2(System.String,System.String,NuGet.Versioning.NuGetVersion,NuGet.Common.ILogger)">
            <summary>
            Retrieve all packages of an id from a v2 folder.
            </summary>
            <param name="root">Nupkg folder directory path.</param>
            <param name="id">Package id.</param>
            <param name="version">Package version.</param>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.GetPackageV2(System.String,System.String,NuGet.Versioning.NuGetVersion,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Retrieve all packages of an id from a v2 folder.
            </summary>
            <param name="root">Nupkg folder directory path.</param>
            <param name="id">Package id.</param>
            <param name="version">Package version.</param>
            <param name="cancellationToken">Cancellation token</param>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.GetPackageV2(System.String,NuGet.Packaging.Core.PackageIdentity,NuGet.Common.ILogger)">
            <summary>
            Retrieve all packages of an id from a v2 folder.
            </summary>
            <param name="root">Nupkg folder directory path.</param>
            <param name="identity">Package id and version.</param>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.GetPackageV2(System.String,NuGet.Packaging.Core.PackageIdentity,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Retrieve all packages of an id from a v2 folder.
            </summary>
            <param name="root">Nupkg folder directory path.</param>
            <param name="identity">Package id and version.</param>
            /// <param name="cancellationToken">Cancellation token</param>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.GetPackagesConfigFolderPackages(System.String,NuGet.Common.ILogger)">
            <summary>
            Retrieve a package with an id and version from a packages.config packages folder.
            </summary>
            <param name="root">Nupkg folder directory path.</param>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.GetPackagesConfigFolderPackages(System.String,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Retrieve a package with an id and version from a packages.config packages folder.
            </summary>
            <param name="root">Nupkg folder directory path.</param>
            <param name="cancellationToken">Cancellation token</param>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.GetPackagesConfigFolderPackages(System.String,System.String,NuGet.Common.ILogger)">
            <summary>
            Retrieve a package with an id and version from a packages.config packages folder.
            </summary>
            <param name="root">Nupkg folder directory path.</param>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.GetPackagesConfigFolderPackage(System.String,NuGet.Packaging.Core.PackageIdentity,NuGet.Common.ILogger)">
            <summary>
            Retrieve a package with an id and version from a packages.config packages folder.
            </summary>
            <param name="root">Nupkg folder directory path.</param>
            <param name="identity">Package id and version.</param>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.GetPackagesConfigFolderSearchPattern(System.String)">
            <summary>
            Returns either id.* or * depending on the OS.
            </summary>
            <param name="id"></param>
            <returns></returns>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.GetPackagesConfigFolderPackage(System.String,System.String,NuGet.Versioning.NuGetVersion,NuGet.Common.ILogger)">
            <summary>
            Retrieve a package with an id and version from a packages.config packages folder.
            </summary>
            <param name="root">Nupkg folder directory path.</param>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.GetPackagesConfigFolderPackage(System.IO.DirectoryInfo,NuGet.Common.ILogger)">
            <summary>
            Return the package nupkg from a packages.config folder sub directory.
            </summary>
            <param name="dir">Package directory in the format id.version</param>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.IsPossiblePackageMatch(System.IO.FileInfo,NuGet.Packaging.Core.PackageIdentity)">
            <summary>
            True if the file name matches the identity. This is could be incorrect if
            the package name ends with numbers. The result should be checked against the nuspec.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.IsPossiblePackageMatch(System.IO.FileInfo,System.String)">
            <summary>
            True if the file name matches the id and is followed by a version. This is could be incorrect if
            the package name ends with numbers. The result should be checked against the nuspec.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.GetIdentityFromNupkgPath(System.IO.FileInfo,System.String)">
            <summary>
            An imperfect attempt at finding the identity of a package from the file name.
            This can fail if the package name ends with something such as .1
            </summary>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.GetVersionFromFileName(System.String,System.String,System.String)">
            <summary>
            An imperfect attempt at finding the version of a package from the file name.
            This can fail if the package name ends with something such as .1
            </summary>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.GetVersionFromIdVersionString(System.String,System.String)">
            <summary>
            Parse a possible version from a string in the format Id.Version
            Returns null if the version is invalid or the id did not match.
            </summary>
            <param name="idVersionString">Id.Version</param>
            <param name="id">Expected id</param>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.GetPackageV3(System.String,System.String,NuGet.Versioning.NuGetVersion,NuGet.Common.ILogger)">
            <summary>
            Retrieve a single package from a v3 version folder.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.GetPackageV3(System.String,NuGet.Packaging.Core.PackageIdentity,NuGet.Common.ILogger)">
            <summary>
            Retrieve a package from a v3 feed.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.GetNupkgsFromFlatFolder(System.String,NuGet.Common.ILogger)">
            <summary>
            Discover all nupkgs from a v2 local folder.
            </summary>
            <param name="root">Folder root.</param>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.GetNupkgsFromFlatFolder(System.String,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Discover all nupkgs from a v2 local folder.
            </summary>
            <param name="root">Folder root.</param>
            <param name="cancellationToken">Cancellation token</param>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.GetAndVerifyRootDirectory(System.String)">
            <summary>
            Verify that a path could be a valid directory. Throw a FatalProtocolException otherwise.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.GetAndVerifyFileInfo(System.Uri)">
            <summary>
            Verify that a path could be a valid file. Throw a FatalProtocolException otherwise.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.GetNupkgsFromFlatFolderChunked(System.IO.DirectoryInfo,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Retrieve files in chunks, this helps maintain the legacy behavior of searching for
            certain non-normalized file names.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.GetNupkgsFromFlatFolder(System.String,System.String,NuGet.Common.ILogger)">
            <summary>
            Discover nupkgs from a v2 local folder.
            </summary>
            <param name="root">Folder root.</param>
            <param name="id">Package id file name prefix.</param>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.GetNupkgsFromFlatFolder(System.String,System.String,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Discover nupkgs from a v2 local folder.
            </summary>
            <param name="root">Folder root.</param>
            <param name="cancellationToken">Cancellation token</param>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.GetPackagesV3(System.String,NuGet.Common.ILogger)">
            <summary>
            Discover all nupkgs from a v3 folder.
            </summary>
            <param name="root">Folder root.</param>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.GetPackagesV3(System.String,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Discover all nupkgs from a v3 folder.
            </summary>
            <param name="root">Folder root.</param>
            <param name="cancellationToken">Cancellation token</param>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.GetPackagesV3(System.String,System.String,NuGet.Common.ILogger)">
            <summary>
            Discover nupkgs from a v3 local folder.
            </summary>
            <param name="root">Folder root.</param>
            <param name="id">Package id or package id prefix.</param>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.GetPackagesV3(System.String,System.String,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Discover nupkgs from a v3 local folder.
            </summary>
            <param name="root">Folder root.</param>
            <param name="id">Package id or package id prefix.</param>
            <param name="cancellationToken">Cancellation token</param>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.ResolvePackageFromPath(System.String,System.Boolean)">
            <summary>
            Resolves a package path into a list of paths.
            If the path contains wildcards then the path is expanded to all matching entries.
            </summary>
            <param name="packagePath">Package path</param>
            <returns>A list of package paths that match the input path.</returns>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.EnsurePackageExtension(System.String,System.Boolean)">
            <summary>
            Ensure any wildcards in packagePath end with *.nupkg or *.snupkg.
            </summary>
            <param name="packagePath"></param>
            <param name="isSnupkg"></param>
            <returns>The absolute path, or the normalized wildcard path.</returns>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.EnsurePackageFileExists(System.String,System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            If there isn't at least one Path specified, throw that no file paths were resolved for this Package.
            </summary>
            <param name="packagePath">The package path the user originally provided.</param>
            <param name="matchingPackagePaths">A list of matching package paths that were previously resolved.</param>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.GetDistinctPackages(System.Collections.Generic.IEnumerable{NuGet.Protocol.LocalPackageInfo})">
            <summary>
            Remove duplicate packages which can occur in directories.
            In V2 packages may exist under multiple sub folders. 
            Non-normalized versions also lead to duplicates: ex: 1.0, 1.0.0.0
            </summary>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.GetDirectoriesSafe(System.IO.DirectoryInfo,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Retrieve directories and log exceptions that occur.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.GetFilesSafe(System.IO.DirectoryInfo,System.String,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Retrieve files and log exceptions that occur.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.GetPackagesFromNupkgs(System.Collections.Generic.IEnumerable{System.IO.FileInfo},System.Threading.CancellationToken)">
            <summary>
            Path -> LocalPackageInfo
            </summary>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.GetPackageFromNupkg(System.IO.FileInfo)">
            <summary>
            Path -> LocalPackageInfo
            </summary>
        </member>
        <member name="M:NuGet.Protocol.LocalFolderUtility.GetNupkgsFromDirectory(System.IO.DirectoryInfo,NuGet.Common.ILogger,System.Threading.CancellationToken)">
            <summary>
            Find all nupkgs in the top level of a directory.
            </summary>
        </member>
        <member name="T:NuGet.Protocol.MetadataReferenceCache">
            <summary>
            Cache strings, dates, and versions to reduce memory.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.MetadataReferenceCache.GetString(System.String)">
            <summary>
            Checks if <paramref name="s"/> already exists in the cache.
            If so, returns the cached instance.
            If not, caches <paramref name="s"/> and returns it.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.MetadataReferenceCache.GetVersion(System.String)">
            <summary>
            Parses <paramref name="s"/> into a <see cref="T:NuGet.Versioning.NuGetVersion"/>.
            </summary>
        </member>
        <member name="F:NuGet.Protocol.MetadataReferenceCache.CachableTypesMap">
            <summary>
            Mapping of input parameter type to caching method.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.MetadataReferenceCache.CachableTypes">
            <summary>
            <see cref="T:System.Collections.Generic.IEnumerable`1"/> containing all types that can be cached.
            </summary>
        </member>
        <member name="P:NuGet.Protocol.MetadataReferenceCache.CachableMethodTypes">
            <summary>
            <see cref="T:System.Collections.Generic.IEnumerable`1"/> containing string type methods can be cached.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.MetadataReferenceCache.GetObject``1(``0)">
            <summary>
            Iterates through the properties of <paramref name="input"/> that are either <see cref="T:System.String"/>s, <see cref="T:System.DateTimeOffset"/>s, or <see cref="T:NuGet.Versioning.NuGetVersion"/>s and checks them against the cache.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.PackageIdValidator.Validate(System.String,NuGet.Common.IEnvironmentVariableReader)">
            <summary>
            Validates the package ID content.
            </summary>
            <param name="packageId">The package ID to validate.</param>
            <exception cref="T:NuGet.Packaging.InvalidPackageIdException">
            Thrown if <paramref name="packageId"/> is not a valid NuGet package ID.
            </exception>
        </member>
        <member name="M:NuGet.Protocol.StreamExtensions.AsSeekableStreamAsync(System.IO.Stream,System.Threading.CancellationToken)">
             <summary>
             Read a stream into a memory stream if CanSeek is false.
             This method is used to ensure that network streams
             can be read by non-async reads without blocking.
            
             Closes the original stream by default.
             </summary>
        </member>
        <member name="M:NuGet.Protocol.StreamExtensions.AsSeekableStreamAsync(System.IO.Stream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Read a stream into a memory stream if CanSeek is false.
            This method is used to ensure that network streams
            can be read by non-async reads without blocking.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.TimeoutUtility.StartWithTimeout``1(System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}},System.TimeSpan,System.String,System.Threading.CancellationToken)">
            <summary>
            Starts a task with a timeout. If the timeout occurs, a <see cref="T:System.TimeoutException"/>
            with no message will be thrown.
            </summary>
        </member>
        <member name="M:NuGet.Protocol.TimeoutUtility.StartWithTimeout(System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task},System.TimeSpan,System.String,System.Threading.CancellationToken)">
            <summary>
            Starts a task with a timeout. If the timeout occurs, a <see cref="T:System.TimeoutException"/>
            with no message will be thrown.
            </summary>
        </member>
        <member name="T:NuGet.Repositories.LocalPackageInfo">
            <summary>
            Represents a package installed to the user global folder, or a fallback folder.
            Components of the package are cached and across all restores.
            </summary>
        </member>
        <member name="P:NuGet.Repositories.LocalPackageInfo.Nuspec">
            <summary>
            Caches the nuspec reader.
            If the nuspec does not exist this will throw a friendly exception.
            </summary>
        </member>
        <member name="P:NuGet.Repositories.LocalPackageInfo.Files">
            <summary>
            Package files with OPC files filtered out.
            Cached to avoid reading the same files multiple times.
            </summary>
        </member>
        <member name="P:NuGet.Repositories.LocalPackageInfo.Sha512">
            <summary>
            SHA512 of the package.
            </summary>
        </member>
        <member name="P:NuGet.Repositories.LocalPackageInfo.RuntimeGraph">
            <summary>
            runtime.json
            </summary>
            <remarks>Returns null if runtime.json does not exist in the package.</remarks>
        </member>
        <member name="T:NuGet.Repositories.NuGetv3LocalRepository">
            <summary>
            Caches package info from the global packages folder in memory.
            Packages not yet in the cache will be retrieved from disk.
            </summary>
        </member>
        <member name="M:NuGet.Repositories.NuGetv3LocalRepository.Exists(System.String,NuGet.Versioning.NuGetVersion)">
            <summary>
            True if the package exists.
            </summary>
        </member>
        <member name="M:NuGet.Repositories.NuGetv3LocalRepository.ClearCacheForIds(System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Remove cached results for the given ids. This is needed
            after installing a new package.
            </summary>
        </member>
        <member name="M:NuGet.Repositories.NuGetv3LocalRepositoryUtility.GetPackage(System.Collections.Generic.IReadOnlyList{NuGet.Repositories.NuGetv3LocalRepository},System.String,NuGet.Versioning.NuGetVersion)">
            <summary>
            Take the first match on id and version.
            </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="P:NuGet.TaskResult.True">
            <summary>
            Gets a <see cref="T:System.Threading.Tasks.Task`1"/> that's completed successfully with the result of <see langword="true"/>.
            </summary>
        </member>
        <member name="P:NuGet.TaskResult.False">
            <summary>
            Gets a <see cref="T:System.Threading.Tasks.Task`1"/> that's completed successfully with the result of <see langword="false"/>.
            </summary>
        </member>
        <member name="M:NuGet.TaskResult.Boolean(System.Boolean)">
            <summary>
            Returns a <see cref="T:System.Threading.Tasks.Task`1"/> that's completed successfully with the result of <paramref name="b"/>.
            </summary>
        </member>
        <member name="P:NuGet.TaskResult.Zero">
            <summary>
            Gets a <see cref="T:System.Threading.Tasks.Task`1"/> that's completed successfully with the result of <see langword="true"/>.
            </summary>
        </member>
        <member name="P:NuGet.TaskResult.One">
            <summary>
            Gets a <see cref="T:System.Threading.Tasks.Task`1"/> that's completed successfully with the result of <see langword="false"/>.
            </summary>
        </member>
        <member name="M:NuGet.TaskResult.Integer(System.Int32)">
            <summary>
            Returns a <see cref="T:System.Threading.Tasks.Task`1"/> that's completed successfully with the result of <paramref name="i"/>.
            </summary>
        </member>
        <member name="M:NuGet.TaskResult.Null``1">
            <summary>
            Returns a <see cref="T:System.Threading.Tasks.Task`1"/> of type <typeparamref name="T" /> that's completed successfully with the result of <see langword="null"/>.
            </summary>
        </member>
        <member name="M:NuGet.TaskResult.EmptyEnumerable``1">
            <summary>
            Returns a <see cref="T:System.Threading.Tasks.Task`1"/> whose value is an empty enumerable of type <typeparamref name="T" />.
            </summary>
        </member>
        <member name="M:NuGet.TaskResult.EmptyArray``1">
            <summary>
            Returns a <see cref="T:System.Threading.Tasks.Task`1"/> whose value is an empty array with element type <typeparamref name="T" />.
            </summary>
        </member>
        <member name="T:NuGet.TaskResultCache`2">
            <summary>
            Provides a caching mechanism for async operations.
            </summary>
            <typeparam name="TKey">The key to use for storing the async operation.</typeparam>
            <typeparam name="TValue">The return type of the async operation.</typeparam>
        </member>
        <member name="F:NuGet.TaskResultCache`2._cache">
            <summary>
            Represents the cache of async operations.
            </summary>
        </member>
        <member name="F:NuGet.TaskResultCache`2._perTaskLock">
            <summary>
            Represents a dictionary of locks to synchronize access to individual async operations in the cache.
            </summary>
        </member>
        <member name="M:NuGet.TaskResultCache`2.#ctor(System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:NuGet.TaskResultCache`2" /> class with the specified key comparer.
            </summary>
            <param name="comparer">An <see cref="T:System.Collections.Generic.IEqualityComparer`1" /> to use when comparing keys.</param>
        </member>
        <member name="M:NuGet.TaskResultCache`2.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:NuGet.TaskResultCache`2" /> class with the specified initial capacity.
            </summary>
            <param name="capacity">The default capacity for the cache.</param>
        </member>
        <member name="M:NuGet.TaskResultCache`2.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:NuGet.TaskResultCache`2" /> class.
            </summary>
        </member>
        <member name="P:NuGet.TaskResultCache`2.Keys">
            <summary>
            Gets a collection containing the keys in the cache.
            </summary>
        </member>
        <member name="M:NuGet.TaskResultCache`2.GetOrAddAsync``1(`0,System.Func{``0,System.Threading.Tasks.Task{`1}},``0,System.Threading.CancellationToken)">
            <summary>
            Gets the cached async operation associated with the specified key, or runs the operation asynchronously and returns <see cref="T:System.Threading.Tasks.Task`1" /> that the caller can await.
            </summary>
            <param name="key">The key for the async operation to get or store in the cache.</param>
            <param name="valueFactory">A <see cref="T:System.Func`1" /> to execute asynchronously if a cached operation does not exist.</param>
            <param name="state">A state object to pass to the value factory.</param>
            <param name="cancellationToken">A <see cref="T:System.Threading.CancellationToken" /> to use for signaling that an operation should be cancelled.</param>
            <returns>A <see cref="T:System.Threading.Tasks.Task`1" /> for the specified asynchronous operation from the cache if found, otherwise the scheduled asynchronous operation to await.</returns>
        </member>
        <member name="M:NuGet.TaskResultCache`2.GetOrAddAsync``1(`0,System.Boolean,System.Func{``0,System.Threading.Tasks.Task{`1}},``0,System.Threading.CancellationToken)">
            <summary>
            Gets the cached async operation associated with the specified key, or runs the operation asynchronously and returns <see cref="T:System.Threading.Tasks.Task`1" /> that the caller can await, and optionally refreshes the cache.
            </summary>
            <param name="key">The key for the async operation to get or store in the cache.</param>
            <param name="refresh"><see langword="true" /> to force the specified asynchronous operation to be executed and stored in the cache even if a cached operation exists, otherwise <see langword="false" />.</param>
            <param name="valueFactory">A <see cref="T:System.Func`2" /> to execute asynchronously if a cached operation does not exist.</param>
            <param name="state">A state object to pass to the value factory.</param>
            <param name="cancellationToken">A <see cref="T:System.Threading.CancellationToken" /> to use for signaling that an operation should be cancelled.</param>
            <returns>A <see cref="T:System.Threading.Tasks.Task`1" /> for the specified asynchronous operation from the cache if found, otherwise the scheduled asynchronous operation to await.</returns>
        </member>
        <member name="M:NuGet.TaskResultCache`2.GetValueAsync(`0)">
            <summary>
            Gets the async operation associated with the specified key if one exists, otherwise throws a <see cref="T:System.Collections.Generic.KeyNotFoundException" />.
            </summary>
            <param name="key">The key for the async operation to get the value of.</param>
            <returns></returns>
            <exception cref="T:System.Collections.Generic.KeyNotFoundException">The specified key does not exist in the cache.</exception>
        </member>
        <member name="M:NuGet.TaskResultCache`2.TryGetValue(`0,System.Threading.Tasks.Task{`1}@)">
            <inheritdoc cref="M:System.Collections.Generic.Dictionary`2.TryGetValue(`0,`1@)" />
        </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>
