【发布时间】:2011-02-19 09:33:15
【问题描述】:
我正在尝试使用该参考。我知道它在 c# 4 中。我不知道我目前拥有什么。
但基本上,当我写这行时:
Task.Factory.StartNew(someMethod);
它告诉我这是一个错误。有什么方法可以解决它,以便我的 ide 识别该库(任务并行库)?
【问题讨论】:
标签: c# multithreading asynchronous task
我正在尝试使用该参考。我知道它在 c# 4 中。我不知道我目前拥有什么。
但基本上,当我写这行时:
Task.Factory.StartNew(someMethod);
它告诉我这是一个错误。有什么方法可以解决它,以便我的 ide 识别该库(任务并行库)?
【问题讨论】:
标签: c# multithreading asynchronous task
你只需要一个使用指令
using System.Threading.Tasks;
您不需要添加任何额外的引用 - Task 在 mscorlib 中。
您确定您的目标是 .NET 4?签入您的项目属性。 (可用的类型不取决于您使用的语言的版本,而是您使用的框架的版本。)
【讨论】:
您可以通过右键单击您的项目并选择属性来查看您所针对的框架版本。在“应用程序”选项卡上,您的框架版本将位于“目标框架”下拉列表中。如果没有应用程序选项卡,请检查 Silverlight 选项卡。
如果您的目标是 .NET 4,则 Task 已被引用;请参阅 Jon 的回答。
如果您的目标是 .NET 3.5,那么您可以通过下载 Microsoft Reactive Extensions 并将这些库添加为参考来获得 Task。
如果您的目标是 .NET 2 或 Silverlight,那么您就不走运了; Task 在这些系统上不可用。
【讨论】:
您可能参考了早期版本的 mscorlib。确保您拥有 4.0 版本。如果您引用了早期版本(如 2.x),请删除该引用并为 4.0 添加一个。
【讨论】:
你确定你的代码看起来像这样吗
var task2 = Task.Factory.StartNew(() => pr.DoSomething());
如果问题仍然存在,请分享您的代码。
【讨论】: