Net35.Threading.Tasks
4.2.0.3
dotnet add package Net35.Threading.Tasks --version 4.2.0.3
NuGet\Install-Package Net35.Threading.Tasks -Version 4.2.0.3
<PackageReference Include="Net35.Threading.Tasks" Version="4.2.0.3" />
<PackageVersion Include="Net35.Threading.Tasks" Version="4.2.0.3" />
<PackageReference Include="Net35.Threading.Tasks" />
paket add Net35.Threading.Tasks --version 4.2.0.3
#r "nuget: Net35.Threading.Tasks, 4.2.0.3"
#:package Net35.Threading.Tasks@4.2.0.3
#addin nuget:?package=Net35.Threading.Tasks&version=4.2.0.3
#tool nuget:?package=Net35.Threading.Tasks&version=4.2.0.3
Net35.Threading.Tasks
Net35.Threading.Tasks is a Mono port of the Task Parallel Library (TPL) that provides System.Threading.Tasks-style APIs for legacy .NET frameworks (including .NET 3.5 and .NET 2.0) as well as modern .NET Standard targets. The project exposes a compatible surface so code written against newer TPL APIs can be used on older platforms.
Key information
- Author: Piero Viano
- Package id:
Net35.Threading.Tasks - Purpose: Back-port the TPL to older .NET frameworks and provide compatible task-based APIs
Supported target frameworks
netstandard2.0netstandard2.1net40net45net35net20
Repository layout (important files/dirs)
Net35.Threading.Tasks/� main project and source files (containsNet35.Threading.Tasks.csproj)KaosCollections/� vendored collection helpers used by some targetsPortable.ConcurrentDictionary/� vendored concurrent dictionary sources used for legacy targetsNet35.Threading.Tasks.Tests/� unit tests for the projectPackages/� output folder for generated NuGet packages (configured byPackageOutputPath)
Build
For modern targets (
netstandard2.*) use the .NET SDK:dotnet build ./Net35.Threading.Tasks/Net35.Threading.Tasks.csproj -c ReleaseLegacy targets (
net20,net35,net40,net45) require MSBuild / Visual Studio with the corresponding targeting packs installed. Open the solution in Visual Studio and choose the desired target framework configuration to build.
Testing
Tests are located in
Net35.Threading.Tasks.Tests.To run tests for SDK-compatible targets:
dotnet test ./Net35.Threading.Tasks.Tests/Net35.Threading.Tasks.Tests.csprojFor legacy-targeted tests run them using Visual Studio or a test runner that supports the specific framework.
Packaging
The project is configured to generate a NuGet package on build (
GeneratePackageOnBuild=true).Packages are written to the
Packages\directory (see thePackageOutputPathproperty inNet35.Threading.Tasks.csproj).To manually create a package for SDK-compatible targets use:
dotnet pack ./Net35.Threading.Tasks/Net35.Threading.Tasks.csproj -c Release
Contributing
- Contributions, issues and pull requests are welcome. Please include tests for new behavior and preserve compatibility across the supported target frameworks.
- Be mindful that some source files are conditionally compiled or linked from the
KaosCollectionsandPortable.ConcurrentDictionaryfolders; checkNet35.Threading.Tasks.csprojfor the per-target configuration.
License
- See
LICENSE.txtin the repository root for license details.
Notes
- This project includes code originally from Xamarin (see copyright notices in source files).
- Inspect
Net35.Threading.Tasks.csprojfor details on linked sources, package references, and conditional compilation used to support multiple frameworks
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
| .NET Framework | net20 is compatible. net35 is compatible. net40 is compatible. net403 was computed. net45 is compatible. net451 was computed. net452 was computed. net46 was computed. net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 2.0
- Net35.Actions (>= 1.4.0.3)
- Net35.CollectionsBridge (>= 4.2.0.3)
- Net35.TypeInfo (>= 1.5.0.8)
- Net4x.ValueTuple (>= 1.4.0.2)
-
.NETFramework 3.5
- Net35.Actions (>= 1.4.0.3)
- Net35.CollectionsBridge (>= 4.2.0.3)
- Net35.TypeInfo (>= 1.5.0.8)
- Net4x.ValueTuple (>= 1.4.0.2)
-
.NETFramework 4.0
- Net35.Actions (>= 1.4.0.3)
- Net35.CollectionsBridge (>= 4.2.0.3)
- Net35.TypeInfo (>= 1.5.0.8)
- Net4x.ValueTuple (>= 1.4.0.2)
-
.NETFramework 4.5
- Net35.Actions (>= 1.4.0.3)
- Net35.CollectionsBridge (>= 4.2.0.3)
- Net35.TypeInfo (>= 1.5.0.8)
- Net4x.ValueTuple (>= 1.4.0.2)
-
.NETStandard 2.0
- Net35.Actions (>= 1.4.0.3)
- Net35.CollectionsBridge (>= 4.2.0.3)
- Net35.TypeInfo (>= 1.5.0.8)
- Net4x.ValueTuple (>= 1.4.0.2)
-
.NETStandard 2.1
- Net35.Actions (>= 1.4.0.3)
- Net35.CollectionsBridge (>= 4.2.0.3)
- Net35.TypeInfo (>= 1.5.0.8)
- Net4x.ValueTuple (>= 1.4.0.2)
NuGet packages (14)
Showing the top 5 NuGet packages that depend on Net35.Threading.Tasks:
| Package | Downloads |
|---|---|
|
Net4x.BaseTypes
Package Description |
|
|
Net4x.AsyncBridge
Package Description |
|
|
Net4x.CoreLibrary.Interfaces.Common
CoreLibrary Interfaces |
|
|
Net4x.CoreLibrary.Interfaces.General.Common
CoreLibrary Interfaces |
|
|
Net4x.StandardTypesWrappers
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 4.2.0.3 | 1,267 | 1/10/2026 |
| 4.2.0.2 | 9,026 | 12/30/2025 |
| 4.2.0.1 | 579 | 12/26/2025 |
| 1.4.0.1 | 1,375 | 12/21/2025 |
| 1.4.0 | 29,768 | 3/31/2025 |
| 1.1.0 | 30,768 | 8/26/2023 |
| 1.1.0-at20230430052525 | 9,795 | 5/7/2023 |
| 1.0.0-at20230415040204 | 4,876 | 4/15/2023 |
| 1.0.0-at20230411060651 | 15,793 | 4/14/2023 |
| 1.0.0-at20230409091843 | 428 | 4/9/2023 |
| 1.0.0-at20230409083604 | 388 | 4/9/2023 |
| 1.0.0-at20230409070212 | 403 | 4/9/2023 |
| 1.0.0-at20230409070008 | 257 | 4/9/2023 |
| 1.0.0-at20230409060707 | 237 | 4/9/2023 |
| 1.0.0-at20230408 | 378 | 4/8/2023 |