Can I use the task parallel library in a .Net 3.5 project?
Asked Answered
M

2

46

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.

Microhenry answered 7/6, 2010 at 6:21 Comment(0)
A
40

(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.

Antonina answered 7/6, 2010 at 6:27 Comment(6)
If installing something else is a requirement, I think I'd install the .NET Framework 4 altogether.Julius
@zneak: In some situations you may have the option of deploying another library, but not upgrading the framework version.Antonina
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.Microhenry
Most recent version with System.Threading.dll: #6892287Goerke
The version that targets 3.5 doesn't appear to be available any more.Inimitable
@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 :)Antonina
L
25

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.

Loren answered 27/4, 2012 at 6:43 Comment(1)
It's Microsoft's module. I just repackaged it in nuget form. I don't have the source.Loren

© 2022 - 2024 — McMap. All rights reserved.