![]() |
VOOZH | about |
dotnet add package Net4x.AsyncBridge --version 1.5.0.11
NuGet\Install-Package Net4x.AsyncBridge -Version 1.5.0.11
<PackageReference Include="Net4x.AsyncBridge" Version="1.5.0.11" />
<PackageVersion Include="Net4x.AsyncBridge" Version="1.5.0.11" />Directory.Packages.props
<PackageReference Include="Net4x.AsyncBridge" />Project file
paket add Net4x.AsyncBridge --version 1.5.0.11
#r "nuget: Net4x.AsyncBridge, 1.5.0.11"
#:package Net4x.AsyncBridge@1.5.0.11
#addin nuget:?package=Net4x.AsyncBridge&version=1.5.0.11Install as a Cake Addin
#tool nuget:?package=Net4x.AsyncBridge&version=1.5.0.11Install as a Cake Tool
Net4x.AsyncBridge is a compatibility library that brings modern C# async/await building blocks to a wide range of .NET targets, including older .NET Framework versions and newer .NET/.NET Core runtimes. It provides backports and cross-targeting helpers such as ValueTask, async method builders, IAsyncDisposable support, and utilities that make it easier to write and consume asynchronous code across framework versions.
Authors: Piero Viano
Repository: https://bitbucket.org/pieroviano/asyncbridge
Many modern APIs and language features (for example ValueTask, custom async method builders and IAsyncDisposable) were introduced in newer .NET versions. Net4x.AsyncBridge provides compatible implementations and helpers so libraries and applications targeting older frameworks can use these patterns or be cross-compiled for newer TFMs without duplicating runtime behavior.
ValueTask implementation and related helpers for older frameworksasync/await compiler-generated patternsIAsyncDisposableThe solution contains multiple projects targeting a wide set of frameworks. Examples include:
See individual project files under src/ and tests/ for exact Target Framework Monikers (TFMs).
Clone the repository:
Open the solution in Visual Studio (recommended for older .NET Framework targets) or use the dotnet CLI for SDK-style projects.
Reference the projects you need, or build the desired project and reference the produced assemblies.
Example (conceptual):
// Example using the library's ValueTask and async helper types
using AsyncBridge.Threading.Tasks;
public async ValueTask<int> ComputeAsync()
{
// Implementation using AsyncBridge helpers
await Task.Delay(10);
return 42;
}
For SDK-style projects (netstandard/netcore/net):
dotnet build from the repository root or the specific project directory.For full .NET Framework projects:
Note: The repository contains many projects targeting different TFMs. Build only the projects you need or the entire solution in Visual Studio.
Test projects are located under the tests/ directory. Use the test runner appropriate to each target framework:
dotnet test in the test project directory.Contributions, bug reports, and pull requests are welcome. Please follow these guidelines:
See LICENSE.txt in the repository root for licensing details.
This project was inspired by community efforts to bring async/await support to older frameworks. Thanks to contributors and maintainers who helped shape the implementation.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 net5.0 was computed. net5.0-windows net5.0-windows was computed. net6.0 net6.0 was computed. net6.0-android net6.0-android was computed. net6.0-ios net6.0-ios was computed. net6.0-maccatalyst net6.0-maccatalyst was computed. net6.0-macos net6.0-macos was computed. net6.0-tvos net6.0-tvos was computed. net6.0-windows net6.0-windows was computed. net7.0 net7.0 was computed. net7.0-android net7.0-android was computed. net7.0-ios net7.0-ios was computed. net7.0-maccatalyst net7.0-maccatalyst was computed. net7.0-macos net7.0-macos was computed. net7.0-tvos net7.0-tvos was computed. net7.0-windows net7.0-windows was computed. net8.0 net8.0 was computed. net8.0-android net8.0-android was computed. net8.0-browser net8.0-browser was computed. net8.0-ios net8.0-ios was computed. net8.0-maccatalyst net8.0-maccatalyst was computed. net8.0-macos net8.0-macos was computed. net8.0-tvos net8.0-tvos was computed. net8.0-windows net8.0-windows was computed. net9.0 net9.0 was computed. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 was computed. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 netcoreapp2.0 was computed. netcoreapp2.1 netcoreapp2.1 was computed. netcoreapp2.2 netcoreapp2.2 was computed. netcoreapp3.0 netcoreapp3.0 was computed. netcoreapp3.1 netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 netstandard2.0 is compatible. netstandard2.1 netstandard2.1 is compatible. |
| .NET Framework | net20 net20 is compatible. net30 net30 is compatible. net35 net35 is compatible. net40 net40 is compatible. net403 net403 was computed. net45 net45 is compatible. net451 net451 is compatible. net452 net452 is compatible. net46 net46 is compatible. net461 net461 is compatible. net462 net462 is compatible. net463 net463 was computed. net47 net47 is compatible. net471 net471 is compatible. net472 net472 is compatible. net48 net48 is compatible. net481 net481 is compatible. |
| MonoAndroid | monoandroid monoandroid was computed. |
| MonoMac | monomac monomac was computed. |
| MonoTouch | monotouch monotouch was computed. |
| Tizen | tizen40 tizen40 was computed. tizen60 tizen60 was computed. |
| Xamarin.iOS | xamarinios xamarinios was computed. |
| Xamarin.Mac | xamarinmac xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos xamarinwatchos was computed. |
Showing the top 5 NuGet packages that depend on Net4x.AsyncBridge:
| Package | Downloads |
|---|---|
|
Net4x.Runtime.CompilerServices.Unsafe
System.Runtime.CompilerServices.Unsafe |
|
|
Net4x.SystemBuffers
System.Buffers |
|
|
Net4x.FluentValidation.DependencyInjectionExtensions
Dependency injection extensions for FluentValidation |
|
|
Net4x.FluentValidation9.DependencyInjectionExtensions
Dependency injection extensions for FluentValidation |
|
|
Net4x.CoreLibrary.Interfaces.Configuration
CoreLibrary Interfaces |
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.5.0.11 | 2,595 | 2/2/2026 |
| 1.5.0.10 | 1,700 | 1/23/2026 |
| 1.5.0.9 | 1,986 | 1/10/2026 |
| 1.5.0.8 | 6,449 | 1/5/2026 |
| 1.5.0.7 | 3,446 | 12/30/2025 |
| 1.5.0.6 | 591 | 12/26/2025 |
| 1.5.0.5 | 1,451 | 12/21/2025 |
| 1.5.0.4 | 307 | 12/20/2025 |
| 1.5.0.3 | 322 | 12/19/2025 |
| 1.5.0.2 | 10,044 | 11/13/2025 |
| 1.5.0.1 | 2,281 | 11/9/2025 |
| 1.5.0 | 20,457 | 3/31/2025 |
| 1.1.0 | 34,747 | 8/26/2023 |
| 1.1.0-at20230430053553 | 9,443 | 5/7/2023 |
| 1.0.0-at20230416032846 | 4,757 | 4/16/2023 |
| 1.0.0-at20230411061314 | 12,646 | 4/14/2023 |
| 1.0.0-at20230409094003 | 334 | 4/9/2023 |
| 1.0.0-at20230409084002 | 365 | 4/9/2023 |
| 1.0.0-at20230409075105 | 343 | 4/9/2023 |
| 1.0.0-at20230409072402 | 271 | 4/9/2023 |