diff --git a/eng/Build.props b/eng/Build.props
index ec0204e9d2..c3aa3e5a16 100644
--- a/eng/Build.props
+++ b/eng/Build.props
@@ -100,6 +100,9 @@
+
+
+
diff --git a/src/referencePackages/src/nuget.commands/6.2.2/NuGet.Commands.6.2.2.csproj b/src/referencePackages/src/nuget.commands/6.2.2/NuGet.Commands.6.2.2.csproj
new file mode 100644
index 0000000000..c7bb9eb232
--- /dev/null
+++ b/src/referencePackages/src/nuget.commands/6.2.2/NuGet.Commands.6.2.2.csproj
@@ -0,0 +1,20 @@
+
+
+
+ net5.0;netstandard2.0
+ NuGet.Commands
+ 2
+ MicrosoftShared
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/referencePackages/src/nuget.commands/6.2.2/lib/net5.0/NuGet.Commands.cs b/src/referencePackages/src/nuget.commands/6.2.2/lib/net5.0/NuGet.Commands.cs
new file mode 100644
index 0000000000..e7a16abdd0
--- /dev/null
+++ b/src/referencePackages/src/nuget.commands/6.2.2/lib/net5.0/NuGet.Commands.cs
@@ -0,0 +1,2116 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+// ------------------------------------------------------------------------------
+// Changes to this file must follow the http://aka.ms/api-review process.
+// ------------------------------------------------------------------------------
+[assembly: System.Runtime.CompilerServices.CompilationRelaxations(8)]
+[assembly: System.Runtime.CompilerServices.RuntimeCompatibility(WrapNonExceptionThrows = true)]
+[assembly: System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("NuGet.Commands.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100b5fc90e7027f67871e773a8fde8938c81dd402ba65b9201d60593e96c492651e889cc13f1415ebb53fac1131ae0bd333c5ee6021672d9718ea31a8aebd0da0072f25d87dba6fc90ffd598ed4da35e44c398c454307e8e33b8426143daec9f596836f97c8f74750e5975c64e2189f45def46b2a2b1247adc3652bf5c308055da9")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("NuGet.ProjectModel.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100b5fc90e7027f67871e773a8fde8938c81dd402ba65b9201d60593e96c492651e889cc13f1415ebb53fac1131ae0bd333c5ee6021672d9718ea31a8aebd0da0072f25d87dba6fc90ffd598ed4da35e44c398c454307e8e33b8426143daec9f596836f97c8f74750e5975c64e2189f45def46b2a2b1247adc3652bf5c308055da9")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Test.Utility, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("NuGet.SolutionRestoreManager.Test, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("NuGet.PackageManagement.VisualStudio.Test, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
+[assembly: System.Runtime.Versioning.TargetFramework(".NETCoreApp,Version=v5.0", FrameworkDisplayName = "")]
+[assembly: System.Reflection.AssemblyCompany("Microsoft Corporation")]
+[assembly: System.Reflection.AssemblyConfiguration("release")]
+[assembly: System.Reflection.AssemblyCopyright("© Microsoft Corporation. All rights reserved.")]
+[assembly: System.Reflection.AssemblyDescription("Complete commands common to command-line and GUI NuGet clients.")]
+[assembly: System.Reflection.AssemblyFileVersion("6.2.2.1")]
+[assembly: System.Reflection.AssemblyInformationalVersion("6.2.2+027ca8b8ef4b4dc94995f87b9c441d2bcf742c1d.027ca8b8ef4b4dc94995f87b9c441d2bcf742c1d")]
+[assembly: System.Reflection.AssemblyProduct("NuGet")]
+[assembly: System.Reflection.AssemblyTitle("NuGet.Commands")]
+[assembly: System.Reflection.AssemblyMetadata("RepositoryUrl", "https://github.com/NuGet/NuGet.Client")]
+[assembly: System.Resources.NeutralResourcesLanguage("en-US")]
+[assembly: System.Reflection.AssemblyVersionAttribute("6.2.2.1")]
+[assembly: System.Runtime.CompilerServices.ReferenceAssembly]
+[assembly: System.Reflection.AssemblyFlagsAttribute((System.Reflection.AssemblyNameFlags)0x70)]
+namespace Microsoft.AspNet.FileProviders
+{
+ public partial interface IDirectoryContents : System.Collections.Generic.IEnumerable, System.Collections.IEnumerable
+ {
+ bool Exists { get; }
+ }
+
+ public partial interface IFileInfo
+ {
+ bool Exists { get; }
+
+ bool IsDirectory { get; }
+
+ System.DateTimeOffset LastModified { get; }
+
+ long Length { get; }
+
+ string Name { get; }
+
+ string PhysicalPath { get; }
+
+ System.IO.Stream CreateReadStream();
+ }
+
+ public partial interface IFileProvider
+ {
+ IDirectoryContents GetDirectoryContents(string subpath);
+ IFileInfo GetFileInfo(string subpath);
+ Extensions.Primitives.IChangeToken Watch(string filter);
+ }
+}
+
+namespace Microsoft.Extensions.FileSystemGlobbing
+{
+ public partial struct FilePatternMatch : System.IEquatable
+ {
+ private object _dummy;
+ private int _dummyPrimitive;
+ public FilePatternMatch(string path, string stem) { }
+
+ public string Path { get { throw null; } }
+
+ public string Stem { get { throw null; } }
+
+ public bool Equals(FilePatternMatch other) { throw null; }
+
+ public override bool Equals(object obj) { throw null; }
+
+ public override int GetHashCode() { throw null; }
+ }
+
+ public partial class Matcher
+ {
+ public Matcher() { }
+
+ public Matcher(System.StringComparison comparisonType) { }
+
+ public virtual Matcher AddExclude(string pattern) { throw null; }
+
+ public virtual Matcher AddInclude(string pattern) { throw null; }
+
+ public virtual PatternMatchingResult Execute(Abstractions.DirectoryInfoBase directoryInfo) { throw null; }
+ }
+
+ public static partial class MatcherExtensions
+ {
+ public static void AddExcludePatterns(this Matcher matcher, params System.Collections.Generic.IEnumerable[] excludePatternsGroups) { }
+
+ public static void AddIncludePatterns(this Matcher matcher, params System.Collections.Generic.IEnumerable[] includePatternsGroups) { }
+
+ public static System.Collections.Generic.IEnumerable GetResultsInFullPath(this Matcher matcher, string directoryPath) { throw null; }
+ }
+
+ public partial class PatternMatchingResult
+ {
+ public PatternMatchingResult(System.Collections.Generic.IEnumerable files) { }
+
+ public System.Collections.Generic.IEnumerable Files { get { throw null; } set { } }
+ }
+}
+
+namespace Microsoft.Extensions.FileSystemGlobbing.Abstractions
+{
+ public abstract partial class DirectoryInfoBase : FileSystemInfoBase
+ {
+ public abstract System.Collections.Generic.IEnumerable EnumerateFileSystemInfos();
+ public abstract DirectoryInfoBase GetDirectory(string path);
+ public abstract FileInfoBase GetFile(string path);
+ }
+
+ public partial class DirectoryInfoWrapper : DirectoryInfoBase
+ {
+ public DirectoryInfoWrapper(System.IO.DirectoryInfo directoryInfo, bool isParentPath = false) { }
+
+ public override string FullName { get { throw null; } }
+
+ public override string Name { get { throw null; } }
+
+ public override DirectoryInfoBase ParentDirectory { get { throw null; } }
+
+ public override System.Collections.Generic.IEnumerable EnumerateFileSystemInfos() { throw null; }
+
+ public override DirectoryInfoBase GetDirectory(string name) { throw null; }
+
+ public override FileInfoBase GetFile(string name) { throw null; }
+ }
+
+ public abstract partial class FileInfoBase : FileSystemInfoBase
+ {
+ }
+
+ public partial class FileInfoWrapper : FileInfoBase
+ {
+ public FileInfoWrapper(System.IO.FileInfo fileInfo) { }
+
+ public override string FullName { get { throw null; } }
+
+ public override string Name { get { throw null; } }
+
+ public override DirectoryInfoBase ParentDirectory { get { throw null; } }
+ }
+
+ public abstract partial class FileSystemInfoBase
+ {
+ public abstract string FullName { get; }
+ public abstract string Name { get; }
+ public abstract DirectoryInfoBase ParentDirectory { get; }
+ }
+}
+
+namespace Microsoft.Extensions.FileSystemGlobbing.Internal
+{
+ public partial interface ILinearPattern : IPattern
+ {
+ System.Collections.Generic.IList Segments { get; }
+ }
+
+ public partial interface IPathSegment
+ {
+ bool CanProduceStem { get; }
+
+ bool Match(string value);
+ }
+
+ public partial interface IPattern
+ {
+ IPatternContext CreatePatternContextForExclude();
+ IPatternContext CreatePatternContextForInclude();
+ }
+
+ public partial interface IPatternContext
+ {
+ void Declare(System.Action onDeclare);
+ void PopDirectory();
+ void PushDirectory(Abstractions.DirectoryInfoBase directory);
+ bool Test(Abstractions.DirectoryInfoBase directory);
+ PatternTestResult Test(Abstractions.FileInfoBase file);
+ }
+
+ public partial interface IRaggedPattern : IPattern
+ {
+ System.Collections.Generic.IList> Contains { get; }
+
+ System.Collections.Generic.IList EndsWith { get; }
+
+ System.Collections.Generic.IList Segments { get; }
+
+ System.Collections.Generic.IList StartsWith { get; }
+ }
+
+ public partial class MatcherContext
+ {
+ public MatcherContext(System.Collections.Generic.IEnumerable includePatterns, System.Collections.Generic.IEnumerable excludePatterns, Abstractions.DirectoryInfoBase directoryInfo, System.StringComparison comparison) { }
+
+ public PatternMatchingResult Execute() { throw null; }
+ }
+
+ public partial struct PatternTestResult
+ {
+ private object _dummy;
+ private int _dummyPrimitive;
+ public static readonly PatternTestResult Failed;
+ public bool IsSuccessful { get { throw null; } }
+
+ public string Stem { get { throw null; } }
+
+ public static PatternTestResult Success(string stem) { throw null; }
+ }
+}
+
+namespace Microsoft.Extensions.FileSystemGlobbing.Internal.PathSegments
+{
+ public partial class CurrentPathSegment : IPathSegment
+ {
+ public bool CanProduceStem { get { throw null; } }
+
+ public bool Match(string value) { throw null; }
+ }
+
+ public partial class LiteralPathSegment : IPathSegment
+ {
+ public LiteralPathSegment(string value, System.StringComparison comparisonType) { }
+
+ public bool CanProduceStem { get { throw null; } }
+
+ public string Value { get { throw null; } }
+
+ public override bool Equals(object obj) { throw null; }
+
+ public override int GetHashCode() { throw null; }
+
+ public bool Match(string value) { throw null; }
+ }
+
+ public partial class ParentPathSegment : IPathSegment
+ {
+ public bool CanProduceStem { get { throw null; } }
+
+ public bool Match(string value) { throw null; }
+ }
+
+ public partial class RecursiveWildcardSegment : IPathSegment
+ {
+ public bool CanProduceStem { get { throw null; } }
+
+ public bool Match(string value) { throw null; }
+ }
+
+ public partial class WildcardPathSegment : IPathSegment
+ {
+ public static readonly WildcardPathSegment MatchAll;
+ public WildcardPathSegment(string beginsWith, System.Collections.Generic.List contains, string endsWith, System.StringComparison comparisonType) { }
+
+ public string BeginsWith { get { throw null; } }
+
+ public bool CanProduceStem { get { throw null; } }
+
+ public System.Collections.Generic.List Contains { get { throw null; } }
+
+ public string EndsWith { get { throw null; } }
+
+ public bool Match(string value) { throw null; }
+ }
+}
+
+namespace Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts
+{
+ public abstract partial class PatternContextLinear : PatternContext
+ {
+ public PatternContextLinear(ILinearPattern pattern) { }
+
+ protected ILinearPattern Pattern { get { throw null; } }
+
+ protected string CalculateStem(Abstractions.FileInfoBase matchedFile) { throw null; }
+
+ protected bool IsLastSegment() { throw null; }
+
+ public override void PushDirectory(Abstractions.DirectoryInfoBase directory) { }
+
+ public override PatternTestResult Test(Abstractions.FileInfoBase file) { throw null; }
+
+ protected bool TestMatchingSegment(string value) { throw null; }
+
+ public partial struct FrameData
+ {
+ private object _dummy;
+ private int _dummyPrimitive;
+ public bool InStem;
+ public bool IsNotApplicable;
+ public int SegmentIndex;
+ public string Stem { get { throw null; } }
+
+ public System.Collections.Generic.IList StemItems { get { throw null; } }
+ }
+ }
+
+ public partial class PatternContextLinearExclude : PatternContextLinear
+ {
+ public PatternContextLinearExclude(ILinearPattern pattern) : base(default!) { }
+
+ public override bool Test(Abstractions.DirectoryInfoBase directory) { throw null; }
+ }
+
+ public partial class PatternContextLinearInclude : PatternContextLinear
+ {
+ public PatternContextLinearInclude(ILinearPattern pattern) : base(default!) { }
+
+ public override void Declare(System.Action onDeclare) { }
+
+ public override bool Test(Abstractions.DirectoryInfoBase directory) { throw null; }
+ }
+
+ public abstract partial class PatternContextRagged : PatternContext
+ {
+ public PatternContextRagged(IRaggedPattern pattern) { }
+
+ protected IRaggedPattern Pattern { get { throw null; } }
+
+ protected string CalculateStem(Abstractions.FileInfoBase matchedFile) { throw null; }
+
+ protected bool IsEndingGroup() { throw null; }
+
+ protected bool IsStartingGroup() { throw null; }
+
+ public sealed override void PushDirectory(Abstractions.DirectoryInfoBase directory) { }
+
+ public override PatternTestResult Test(Abstractions.FileInfoBase file) { throw null; }
+
+ protected bool TestMatchingGroup(Abstractions.FileSystemInfoBase value) { throw null; }
+
+ protected bool TestMatchingSegment(string value) { throw null; }
+
+ public partial struct FrameData
+ {
+ private object _dummy;
+ private int _dummyPrimitive;
+ public int BacktrackAvailable;
+ public bool InStem;
+ public bool IsNotApplicable;
+ public System.Collections.Generic.IList SegmentGroup;
+ public int SegmentGroupIndex;
+ public int SegmentIndex;
+ public string Stem { get { throw null; } }
+
+ public System.Collections.Generic.IList StemItems { get { throw null; } }
+ }
+ }
+
+ public partial class PatternContextRaggedExclude : PatternContextRagged
+ {
+ public PatternContextRaggedExclude(IRaggedPattern pattern) : base(default!) { }
+
+ public override bool Test(Abstractions.DirectoryInfoBase directory) { throw null; }
+ }
+
+ public partial class PatternContextRaggedInclude : PatternContextRagged
+ {
+ public PatternContextRaggedInclude(IRaggedPattern pattern) : base(default!) { }
+
+ public override void Declare(System.Action onDeclare) { }
+
+ public override bool Test(Abstractions.DirectoryInfoBase directory) { throw null; }
+ }
+
+ public abstract partial class PatternContext : IPatternContext
+ {
+ protected TFrame Frame;
+ public virtual void Declare(System.Action declare) { }
+
+ protected bool IsStackEmpty() { throw null; }
+
+ public void PopDirectory() { }
+
+ protected void PushDataFrame(TFrame frame) { }
+
+ public abstract void PushDirectory(Abstractions.DirectoryInfoBase directory);
+ public abstract bool Test(Abstractions.DirectoryInfoBase directory);
+ public abstract PatternTestResult Test(Abstractions.FileInfoBase file);
+ }
+}
+
+namespace Microsoft.Extensions.FileSystemGlobbing.Internal.Patterns
+{
+ public partial class PatternBuilder
+ {
+ public PatternBuilder() { }
+
+ public PatternBuilder(System.StringComparison comparisonType) { }
+
+ public System.StringComparison ComparisonType { get { throw null; } }
+
+ public IPattern Build(string pattern) { throw null; }
+ }
+}
+
+namespace Microsoft.Extensions.Primitives
+{
+ public partial interface IChangeToken
+ {
+ bool ActiveChangeCallbacks { get; }
+
+ bool HasChanged { get; }
+
+ System.IDisposable RegisterChangeCallback(System.Action