Microsoft.Bcl.AsyncInterfaces 9.0.0-preview.5.24306.7

About

As of C# 8, the C# language has support for producing and consuming asynchronous iterators. The library types in support of those features are available in .NET Core 3.0 and newer as well as in .NET Standard 2.1. This library provides the necessary definitions of those types to support these language features on .NET Framework and on .NET Standard 2.0. This library is not necessary nor recommended when targeting versions of .NET that include the relevant support.

Key Features

  • Enables the use of C# async iterators on older .NET platforms

How to Use

using System;
using System.Collections.Generic;
using System.Threading.Tasks;

internal static class Program
{
    private static async Task Main()
    {
        Console.WriteLine("Starting...");
        await foreach (var value in GetValuesAsync())
        {
            Console.WriteLine(value);
        }
        Console.WriteLine("Finished!");

        static async IAsyncEnumerable<int> GetValuesAsync()
        {
            for (int i = 0; i < 10; i++)
            {
                await Task.Delay(TimeSpan.FromSeconds(1));
                yield return i;
            }
        }
    }
}

Main Types

The main types provided by this library are:

  • IAsyncEnumerable<T>
  • IAsyncEnumerator<T>
  • IAsyncDisposable<T>

Additional Documentation

Feedback & Contributing

Microsoft.Bcl.AsyncInterfaces is released as open source under the MIT license. Bug reports and contributions are welcome at the GitHub repository.

Showing the top 20 packages that depend on Microsoft.Bcl.AsyncInterfaces.

Packages Downloads
CommunityToolkit.Mvvm
This package includes a .NET MVVM library with helpers such as: - ObservableObject: a base class for objects implementing the INotifyPropertyChanged interface. - ObservableRecipient: a base class for observable objects with support for the IMessenger service. - ObservableValidator: a base class for objects implementing the INotifyDataErrorInfo interface. - RelayCommand: a simple delegate command implementing the ICommand interface. - AsyncRelayCommand: a delegate command supporting asynchronous operations and cancellation. - WeakReferenceMessenger: a messaging system to exchange messages through different loosely-coupled objects. - StrongReferenceMessenger: a high-performance messaging system that trades weak references for speed. - Ioc: a helper class to configure dependency injection service containers.
5
Azure.Core
This is the implementation of the Azure Client Pipeline
4
CommunityToolkit.Mvvm
This package includes a .NET MVVM library with helpers such as: - ObservableObject: a base class for objects implementing the INotifyPropertyChanged interface. - ObservableRecipient: a base class for observable objects with support for the IMessenger service. - ObservableValidator: a base class for objects implementing the INotifyDataErrorInfo interface. - RelayCommand: a simple delegate command implementing the ICommand interface. - AsyncRelayCommand: a delegate command supporting asynchronous operations and cancellation. - WeakReferenceMessenger: a messaging system to exchange messages through different loosely-coupled objects. - StrongReferenceMessenger: a high-performance messaging system that trades weak references for speed. - Ioc: a helper class to configure dependency injection service containers.
4
CommunityToolkit.Mvvm
This package includes a .NET MVVM library with helpers such as: - ObservableObject: a base class for objects implementing the INotifyPropertyChanged interface. - ObservableRecipient: a base class for observable objects with support for the IMessenger service. - ObservableValidator: a base class for objects implementing the INotifyDataErrorInfo interface. - RelayCommand: a simple delegate command implementing the ICommand interface. - AsyncRelayCommand: a delegate command supporting asynchronous operations and cancellation. - WeakReferenceMessenger: a messaging system to exchange messages through different loosely-coupled objects. - StrongReferenceMessenger: a high-performance messaging system that trades weak references for speed. - Ioc: a helper class to configure dependency injection service containers.
3
Microsoft.Extensions.Logging
Logging infrastructure default implementation for Microsoft.Extensions.Logging.
2
Microsoft.Extensions.Logging.EventSource
EventSource/EventListener logger provider implementation for Microsoft.Extensions.Logging.
2
Microsoft.Extensions.Hosting
Hosting and startup infrastructures for applications. When using NuGet 3.x this package requires at least version 3.4.
2
Microsoft.Bcl.TimeProvider
Provides support for system time abstraction primitives for .NET Framework and .NET Standard. Commonly Used Types: System.TimeProvider System.ITimer
2
System.Text.Json
Provides high-performance and low-allocating types that serialize objects to JavaScript Object Notation (JSON) text and deserialize JSON text to objects, with UTF-8 support built-in. Also provides types to read and write JSON text encoded as UTF-8, and to create an in-memory document object model (DOM), that is read-only, for random access of the JSON elements within a structured view of the data. Commonly Used Types: System.Text.Json.JsonSerializer System.Text.Json.JsonDocument System.Text.Json.JsonElement System.Text.Json.Utf8JsonWriter System.Text.Json.Utf8JsonReader
2
Azure.Core
This is the implementation of the Azure Client Pipeline
2

.NET Framework 4.6.2

.NET Standard 2.0

.NET Standard 2.1

  • No dependencies.

Version Downloads Last updated
10.0.0 0 11/11/2025
10.0.0-rc.2.25502.107 1 11/03/2025
10.0.0-rc.1.25451.107 2 09/30/2025
10.0.0-preview.7.25380.108 2 09/29/2025
10.0.0-preview.6.25358.103 2 09/30/2025
10.0.0-preview.5.25277.114 2 09/30/2025
10.0.0-preview.4.25258.110 2 09/30/2025
10.0.0-preview.3.25171.5 2 09/30/2025
10.0.0-preview.2.25163.2 2 09/30/2025
10.0.0-preview.1.25080.5 2 09/30/2025
9.0.11 0 11/11/2025
9.0.10 1 11/03/2025
9.0.9 2 09/30/2025
9.0.8 2 09/30/2025
9.0.7 2 09/30/2025
9.0.6 2 09/30/2025
9.0.5 2 09/30/2025
9.0.4 2 09/30/2025
9.0.3 2 09/30/2025
9.0.2 2 09/30/2025
9.0.1 2 09/30/2025
9.0.0 2 09/30/2025
9.0.0-rc.2.24473.5 2 09/30/2025
9.0.0-rc.1.24431.7 2 09/30/2025
9.0.0-preview.7.24405.7 2 09/30/2025
9.0.0-preview.6.24327.7 2 09/30/2025
9.0.0-preview.5.24306.7 2 09/30/2025
9.0.0-preview.4.24266.19 2 09/30/2025
9.0.0-preview.3.24172.9 2 09/30/2025
9.0.0-preview.2.24128.5 2 09/30/2025
9.0.0-preview.1.24080.9 2 09/30/2025
8.0.0 2 09/30/2025
8.0.0-rc.2.23479.6 2 09/30/2025
8.0.0-rc.1.23419.4 2 09/30/2025
8.0.0-preview.7.23375.6 2 09/30/2025
8.0.0-preview.6.23329.7 2 09/30/2025
8.0.0-preview.5.23280.8 2 09/30/2025
8.0.0-preview.4.23259.5 2 09/30/2025
8.0.0-preview.3.23174.8 2 09/30/2025
8.0.0-preview.2.23128.3 2 09/30/2025
8.0.0-preview.1.23110.8 2 09/30/2025
7.0.0 2 09/30/2025
7.0.0-rc.2.22472.3 2 09/29/2025
7.0.0-rc.1.22426.10 2 09/30/2025
7.0.0-preview.7.22375.6 2 09/30/2025
7.0.0-preview.6.22324.4 2 09/30/2025
7.0.0-preview.5.22301.12 2 09/30/2025
7.0.0-preview.4.22229.4 2 09/30/2025
7.0.0-preview.3.22175.4 2 09/30/2025
7.0.0-preview.2.22152.2 2 09/30/2025
7.0.0-preview.1.22076.8 2 09/30/2025
6.0.0 2 09/30/2025
6.0.0-rc.2.21480.5 2 09/29/2025
6.0.0-rc.1.21451.13 2 09/30/2025
6.0.0-preview.7.21377.19 2 09/30/2025
6.0.0-preview.6.21352.12 2 09/30/2025
6.0.0-preview.5.21301.5 2 09/30/2025
6.0.0-preview.4.21253.7 2 09/30/2025
6.0.0-preview.3.21201.4 2 09/30/2025
6.0.0-preview.2.21154.6 2 09/30/2025
6.0.0-preview.1.21102.12 2 09/30/2025
5.0.0 2 09/30/2025
5.0.0-rc.2.20475.5 2 09/30/2025
5.0.0-rc.1.20451.14 2 09/30/2025
1.1.1 2 09/30/2025
1.1.0 2 09/30/2025
1.1.0-preview3.19551.4 2 09/30/2025
1.1.0-preview2.19523.17 2 09/30/2025
1.1.0-preview1.19504.10 2 09/30/2025
1.0.0 2 09/30/2025
1.0.0-rc1.19456.4 2 09/30/2025
1.0.0-preview9.19421.4 2 09/30/2025
1.0.0-preview9.19416.11 2 09/30/2025
1.0.0-preview8.19405.3 2 09/30/2025
1.0.0-preview7.19362.9 2 09/30/2025
1.0.0-preview6.19303.8 2 09/30/2025
1.0.0-preview6.19264.9 2 09/30/2025
1.0.0-preview6.19259.10 2 09/30/2025