我可以在 .Net 3.5 项目中使用任务并行库吗?
Posted
技术标签:
【中文标题】我可以在 .Net 3.5 项目中使用任务并行库吗?【英文标题】:Can I use the task parallel library in a .Net 3.5 project? 【发布时间】:2011-02-28 13:39:07 【问题描述】:我听说 Task Parallel Library 可以在 .Net 3.5 项目中使用。这是正确的,如果是,我该如何使用它?在 .Net 4.0 中,它驻留在 System.Threading 中,但是当我在 Visual Studio 2010 中选择 .Net 3.5 作为目标时,我无法访问 Parallel 和 Parallel 循环等类。
【问题讨论】:
【参考方案1】:(旧版答案 - 似乎 3.5 的后向端口不再可用。)
你不能使用完整的并行扩展,不...
...但是如果您为 .NET 3.5 安装 Reactive Extensions,则为 comes with a version of Parallel Extensions,因此您可以使用它。我不知道支持多少 PFX,但我怀疑对于大多数人来说已经足够了。 (博文中有一些细节,但那是从 2009 年开始的……我不知道 2010 年的任何变化可能会或可能不会被向后移植。)
请注意,这也是不受支持的 - 对于业余项目来说可能没问题,但如果我想在商业上使用 PFX,我会升级到 .NET 4。
【讨论】:
如果需要安装其他东西,我想我会完全安装 .NET Framework 4。 @zneak:在某些情况下,您可以选择部署另一个库,但不升级框架版本。 很有魅力,谢谢! @zneak:我安装了 .Net 4.0,问题是我需要使用一个可以与 .Net dll 对话的组件,但只能到 .Net 3.5。 带有 System.Threading.dll 的最新版本:***.com/questions/6891787/… 目标 3.5 的版本似乎不再可用。【参考方案2】:正如 Jon Skeet 所说,Rx
将 TPL
反向移植到 .NET 3.5
。
我从他们的System.Threading.dll
中制作了一个 nuget(称为 TaskParallelLibrary),以便于集成。
您可以从http://nuget.org/packages/TaskParallelLibrary获得它。
【讨论】:
这是微软的模块。我只是以 nuget 形式重新包装它。我没有来源。以上是关于我可以在 .Net 3.5 项目中使用任务并行库吗?的主要内容,如果未能解决你的问题,请参考以下文章
我可以在 .NET 1.1 项目中使用在 VS2010 .NET 4.0 中创建的类库吗
我可以在面向 .Net 3.5 的项目中使用所有 C# 4.0 功能吗?