Могу ли я использовать параллельную библиотеку задач в проекте .Net 3.5?

Я слышал, что параллельную библиотеку задач можно использовать в проекте .Net 3.5. Это правильно, и если да, как мне это использовать? В .Net 4.0 он находится в System.Threading, но когда я выбираю .Net 3.5 в качестве цели в Visual Studio 2010, я не получаю доступа к таким классам, как Parallel и параллельные циклы.


person Mathias    schedule 07.06.2010    source источник


Ответы (2)


(Устаревший ответ - похоже, что бэкпорт для 3.5 больше не доступен.)

Вы не можете использовать полные параллельные расширения, нет ...

... но если вы установите Reactive Extensions для .NET 3.5, то поставляется с версией параллельных расширений, поэтому вы можете использовать это. Я не знаю, какая часть PFX поддерживается, но подозреваю, что для большинства людей этого достаточно. (В сообщении блога есть некоторые подробности, но это было с 2009 года ... Я не знаю о каких-либо изменениях в 2010 году, которые могли или не могли быть перенесены.)

Обратите внимание, что это тоже не поддерживается - вероятно, подходит для хобби-проектов, но если бы я хотел использовать PFX в коммерческих целях, я бы обновился до .NET 4.

person Jon Skeet    schedule 07.06.2010
comment
Если требуется установка чего-то еще, я бы вообще установил .NET Framework 4. - person zneak; 07.06.2010
comment
@zneak: в некоторых ситуациях у вас может быть возможность развернуть другую библиотеку, но не обновить версию фреймворка. - person Jon Skeet; 07.06.2010
comment
Оберег, спасибо! @zneak: У меня установлен .Net 4.0, проблема в том, что мне нужно работать с компонентом, который может разговаривать с .Net dll, но только до .Net 3.5. - person Mathias; 11.06.2010
comment
Самая последняя версия с System.Threading.dll: stackoverflow.com/questions/6891787/ - person user423430; 13.10.2011
comment
Версия, предназначенная для 3.5, больше не доступна. - person Rowland Shaw; 14.09.2016
comment
@RowlandShaw: Спасибо, отредактировали ответ. Я подозреваю, что есть способы найти его, но большинству людей лучше было бы потратить время на переход с 3.5 :) - person Jon Skeet; 14.09.2016

Как упомянул Джон Скит, Rx сделал обратный перенос TPL на .NET 3.5.

Я сделал nuget (под названием TaskParallelLibrary) из их System.Threading.dll для упрощения интеграции.

Вы можете получить его из http://nuget.org/packages/TaskParallelLibrary.

person Omer Mor    schedule 27.04.2012
comment
Это модуль Microsoft. Я просто перепаковал его в виде nuget. У меня нет источника. - person Omer Mor; 01.07.2014