diff --git a/src/referencePackages/src/microsoft.bcl.asyncinterfaces/9.0.8/Microsoft.Bcl.AsyncInterfaces.9.0.8.csproj b/src/referencePackages/src/microsoft.bcl.asyncinterfaces/9.0.8/Microsoft.Bcl.AsyncInterfaces.9.0.8.csproj
new file mode 100644
index 0000000000..bc6e0caeab
--- /dev/null
+++ b/src/referencePackages/src/microsoft.bcl.asyncinterfaces/9.0.8/Microsoft.Bcl.AsyncInterfaces.9.0.8.csproj
@@ -0,0 +1,14 @@
+
+
+
+ netstandard2.0;netstandard2.1
+ 9.0.8
+ Microsoft.Bcl.AsyncInterfaces
+ Open
+
+
+
+
+
+
+
diff --git a/src/referencePackages/src/microsoft.bcl.asyncinterfaces/9.0.8/lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.cs b/src/referencePackages/src/microsoft.bcl.asyncinterfaces/9.0.8/lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.cs
new file mode 100644
index 0000000000..77a2856ac3
--- /dev/null
+++ b/src/referencePackages/src/microsoft.bcl.asyncinterfaces/9.0.8/lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.cs
@@ -0,0 +1,130 @@
+// 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.Versioning.TargetFramework(".NETStandard,Version=v2.0", FrameworkDisplayName = ".NET Standard 2.0")]
+[assembly: System.Reflection.AssemblyMetadata("Serviceable", "True")]
+[assembly: System.Reflection.AssemblyMetadata("PreferInbox", "True")]
+[assembly: System.Reflection.AssemblyDefaultAlias("Microsoft.Bcl.AsyncInterfaces")]
+[assembly: System.CLSCompliant(true)]
+[assembly: System.Reflection.AssemblyMetadata("IsTrimmable", "True")]
+[assembly: System.Runtime.InteropServices.DefaultDllImportSearchPaths(System.Runtime.InteropServices.DllImportSearchPath.AssemblyDirectory | System.Runtime.InteropServices.DllImportSearchPath.System32)]
+[assembly: System.Reflection.AssemblyCompany("Microsoft Corporation")]
+[assembly: System.Reflection.AssemblyCopyright("© Microsoft Corporation. All rights reserved.")]
+[assembly: System.Reflection.AssemblyDescription("Provides the IAsyncEnumerable and IAsyncDisposable interfaces and helper types for .NET Standard 2.0. This package is not required starting with .NET Standard 2.1 and .NET Core 3.0.")]
+[assembly: System.Reflection.AssemblyFileVersion("9.0.825.36511")]
+[assembly: System.Reflection.AssemblyInformationalVersion("9.0.8+aae90fa09086a9be09dac83fa66542232c7269d8")]
+[assembly: System.Reflection.AssemblyProduct("Microsoft® .NET")]
+[assembly: System.Reflection.AssemblyTitle("Microsoft.Bcl.AsyncInterfaces")]
+[assembly: System.Reflection.AssemblyMetadata("RepositoryUrl", "https://github.com/dotnet/runtime")]
+[assembly: System.Reflection.AssemblyVersionAttribute("9.0.0.8")]
+[assembly: System.Runtime.CompilerServices.ReferenceAssembly]
+[assembly: System.Reflection.AssemblyFlagsAttribute((System.Reflection.AssemblyNameFlags)0x70)]
+namespace System
+{
+ public partial interface IAsyncDisposable
+ {
+ Threading.Tasks.ValueTask DisposeAsync();
+ }
+}
+
+namespace System.Collections.Generic
+{
+ public partial interface IAsyncEnumerable
+ {
+ IAsyncEnumerator GetAsyncEnumerator(Threading.CancellationToken cancellationToken = default);
+ }
+
+ public partial interface IAsyncEnumerator : IAsyncDisposable
+ {
+ T Current { get; }
+
+ Threading.Tasks.ValueTask MoveNextAsync();
+ }
+}
+
+namespace System.Runtime.CompilerServices
+{
+ public partial struct AsyncIteratorMethodBuilder
+ {
+ private object _dummy;
+ private int _dummyPrimitive;
+ public void AwaitOnCompleted(ref TAwaiter awaiter, ref TStateMachine stateMachine) where TAwaiter : INotifyCompletion where TStateMachine : IAsyncStateMachine { }
+ public void AwaitUnsafeOnCompleted(ref TAwaiter awaiter, ref TStateMachine stateMachine) where TAwaiter : ICriticalNotifyCompletion where TStateMachine : IAsyncStateMachine { }
+ public void Complete() { }
+ public static AsyncIteratorMethodBuilder Create() { throw null; }
+ public void MoveNext(ref TStateMachine stateMachine) where TStateMachine : IAsyncStateMachine { }
+ }
+
+ [AttributeUsage(AttributeTargets.Method, Inherited = false, AllowMultiple = false)]
+ public sealed partial class AsyncIteratorStateMachineAttribute : StateMachineAttribute
+ {
+ public AsyncIteratorStateMachineAttribute(Type stateMachineType) : base(default!) { }
+ }
+
+ public readonly partial struct ConfiguredAsyncDisposable
+ {
+ private readonly object _dummy;
+ private readonly int _dummyPrimitive;
+ public readonly ConfiguredValueTaskAwaitable DisposeAsync() { throw null; }
+ }
+
+ public readonly partial struct ConfiguredCancelableAsyncEnumerable
+ {
+ private readonly Collections.Generic.IAsyncEnumerable _enumerable;
+ private readonly object _dummy;
+ private readonly int _dummyPrimitive;
+ public readonly ConfiguredCancelableAsyncEnumerable ConfigureAwait(bool continueOnCapturedContext) { throw null; }
+ public readonly Enumerator GetAsyncEnumerator() { throw null; }
+ public readonly ConfiguredCancelableAsyncEnumerable WithCancellation(Threading.CancellationToken cancellationToken) { throw null; }
+ public readonly partial struct Enumerator
+ {
+ private readonly Collections.Generic.IAsyncEnumerator _enumerator;
+ private readonly object _dummy;
+ private readonly int _dummyPrimitive;
+ public T Current { get { throw null; } }
+
+ public readonly ConfiguredValueTaskAwaitable DisposeAsync() { throw null; }
+ public readonly ConfiguredValueTaskAwaitable MoveNextAsync() { throw null; }
+ }
+ }
+
+ [AttributeUsage(AttributeTargets.Parameter, Inherited = false)]
+ public sealed partial class EnumeratorCancellationAttribute : Attribute
+ {
+ }
+}
+
+namespace System.Threading.Tasks
+{
+ public static partial class TaskAsyncEnumerableExtensions
+ {
+ public static Runtime.CompilerServices.ConfiguredAsyncDisposable ConfigureAwait(this IAsyncDisposable source, bool continueOnCapturedContext) { throw null; }
+ public static Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable ConfigureAwait(this Collections.Generic.IAsyncEnumerable source, bool continueOnCapturedContext) { throw null; }
+ public static Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable WithCancellation(this Collections.Generic.IAsyncEnumerable source, CancellationToken cancellationToken) { throw null; }
+ }
+}
+
+namespace System.Threading.Tasks.Sources
+{
+ public partial struct ManualResetValueTaskSourceCore
+ {
+ private TResult _result;
+ private object _dummy;
+ private int _dummyPrimitive;
+ public bool RunContinuationsAsynchronously { get { throw null; } set { } }
+ public short Version { get { throw null; } }
+
+ public TResult GetResult(short token) { throw null; }
+ public ValueTaskSourceStatus GetStatus(short token) { throw null; }
+ public void OnCompleted(Action