Project Description
A helper library for using the Task-Based Asynchronous Pattern (TAP) with Visual Studio 2012. Includes XML docs.
All versions use
semantic versioning.
Nito.AsyncEx is distributed in a
NuGet package that supports
source debugging.
See the
documentation tab for the API supported by this library.
Architecture
The
Nito.AsyncEx package contains the core assembly (Nito.AsyncEx.dll), concurrent collection support (Nito.AsyncEx.Concurrent.dll), and platform enlightenments (Nito.AsyncEx.Enlightenment.dll).
The
Nito.AsyncEx.Dataflow package contains Dataflow support (Nito.AsyncEx.Dataflow.dll), Nito.AsyncEx.Dataflow does not depend on Nito.AsyncEx.
The
Nito.AsyncEx.ObserverProgress package is a source package that installs an
ObserverProgress type. Nito.AsyncEx.ObserverProgress does not depend on Nito.AsyncEx.
The
Nito.AsyncEx.AsyncDiagnostics package is an early pre-release of Async Diagnostics, a library that helps you track down errors in your async code. Nito.AsyncEx.AsyncDiagnostics does not currently depend on Nito.AsyncEx.
Supported Platforms
.NET Framework 4.5 and Windows Store
All APIs are supported.
.NET Framework 4.0
All APIs are supported.
This package will install
Microsoft.Bcl.Async if necessary.
Windows Phone 8
This platform does not support concurrent collections. Also,
AsyncContext may not work due to security restrictions on this platform.
Windows Phone 7.5, Silverlight 4, and Silverlight 5
This package will install
Microsoft.Bcl.Async if necessary.
These platforms do not support concurrent collections. Also,
AsyncContext will not work due to security restrictions on these platforms.
Portable Library Support
The core assembly (Nito.AsyncEx.dll) supports portable libraries targeting any combination of .NET 4.0 (and higher), Windows Store, Silverlight 4 (and higher), and Windows Phone 7.5 (and higher).
The concurrent collections assembly (Nito.AsyncEx.Concurrent.dll) supports portable libraries targeting .NET 4.0 (and higher) and Windows Store.
Platform enlightenment assemblies are not installed into portable library projects; it is expected that the Nito.AsyncEx package will be installed into the final products (targeting a particular platform), and the enlightenment assemblies will be installed at that time.