当前上下文中不存在“任务”这个名称

时间:2016-03-21 04:15:08

标签: c# .net-framework-version

按照脚本播放声音。声音长度为6秒,重复播放6秒

Task.Factory.StartNew<int>(() =>
{
    while (isSoundOn)
    {
        player.Play();
        Thread.Sleep(6000);
    }
    return 1;
 });

.Net Framework 4的一切正常,但 我需要为.Net Framework 3构建

当我使用.Net Framework 3时,它会显示以下错误

当前上下文中不存在“任务”名称

解决方案是什么?提前谢谢。

3 个答案:

答案 0 :(得分:2)

Task.Factory仅在.NET Framework 4中引入 - 所以你需要写下这样的内容:

var thread = new Thread(() =>
{
    while (isSoundOn)
    {
        player.Play();
        Thread.Sleep(6000);
    }
});
thread.Start();
thread.Join();

虽然这实际上取决于你正在做什么。您可能甚至不需要线程,只需写下:

while (isSoundOn)
{
    player.Play();
    Thread.Sleep(6000);
}

答案 1 :(得分:1)

任务并行库作为.Net Framework 4的一部分引入。

您可以改为使用Thread

new Thread(() =>
{
    while (isSoundOn)
    {
        player.Play();
        Thread.Sleep(6000);
    }    

}).Start();

答案 2 :(得分:1)

我添加这个是因为我浪费了一些时间来寻找它。 我只需要添加以下内容...

using System.Threading.Tasks;