I heard that the Task Parallel Library can be used in a .Net 3.5 project. Is this correct, and if yes, how do I use it? In .Net 4.0, it resides in System.Threading, but when I select .Net 3.5 as the target in Visual Studio 2010, I don't get access to classes like Parallel and the Parallel loops.
2 Answers
(Legacy answer - it seems the backport for 3.5 is no longer readily available.)
You can't use the full Parallel Extensions, no...
... but if you install Reactive Extensions for .NET 3.5, that comes with a version of Parallel Extensions, so you can use that. I don't know how much of PFX is supported, but I suspect there's enough for most people. (There are some details in the blog post, but that was from 2009... I don't know about any changes in 2010 which may or may not have been backported.)
Note that this is unsupported, too - probably fine for hobby projects, but if I wanted to use PFX commercially, I'd upgrade to .NET 4.

- 21,988
- 13
- 81
- 109

- 1,421,763
- 867
- 9,128
- 9,194
-
If installing something else is a requirement, I think I'd install the .NET Framework 4 altogether. – zneak Jun 07 '10 at 06:29
-
8@zneak: In some situations you may have the option of deploying another library, but not upgrading the framework version. – Jon Skeet Jun 07 '10 at 06:47
-
Works a charm, thank you! @zneak: I have .Net 4.0 installed, the problem is that I need to work with a component which can talk to .Net dlls, but up to .Net 3.5 only. – Mathias Jun 11 '10 at 18:59
-
1Most recent version with System.Threading.dll: http://stackoverflow.com/questions/6891787/threading-tasks-analog-in-rx-extensions-in-net-3-5/7747015#7747015 – user423430 Oct 12 '11 at 21:47
-
The version that targets 3.5 doesn't appear to be available any more. – Rowland Shaw Sep 14 '16 at 09:22
-
@RowlandShaw: Thanks, have edited the answer. I suspect there are ways of finding it, but most people would be better off spending their time moving off 3.5 :) – Jon Skeet Sep 14 '16 at 12:15
As Jon Skeet mentioned, Rx
backported TPL
to .NET 3.5
.
I have made a nuget (called TaskParallelLibrary) out of their System.Threading.dll
, for easier integration.
You can get it from http://nuget.org/packages/TaskParallelLibrary.

- 5,216
- 2
- 34
- 39
-
2It's Microsoft's module. I just repackaged it in nuget form. I don't have the source. – Omer Mor Jul 01 '14 at 08:25