2014-11-11 2 views
0

Когда я изменил мою цель .net от рамки 4.5 до фреймворка 4.0. Я получаю сообщение об ошибке в одной строке RUN >>>System.Threading.Tasks.Task.Run(() => { PrintFactory.sendTextToLPT1(strPrint); });Ошибка при вызове конструктора устарела

В чем может быть причина этого?

Мой фрагмент кода:

private void button4_Click(object sender, EventArgs e) 
    { 
     //string filePath = image_print(); 
     // MessageBox.Show(filePath, "path"); 
     string newFilePath = image_print(); 
     string strText = string.Empty; 
     using (StreamReader stream = new StreamReader(newFilePath)) 
     { 
      strText = stream.ReadToEnd(); 
      stream.Close(); 
     } 
     string strPrint = strText + Print_image(); 
     if (String.IsNullOrEmpty(strPrint) || String.IsNullOrEmpty(img_path.Text)) 
     { 
      return; 
     } 
     else 
     { 
      sendfile.Image splash = new sendfile.Image(); 
      this.Hide(); 
      splash.Show(); 
      System.Threading.Tasks.Task.Run(() => { 
       PrintFactory.sendTextToLPT1(strPrint); 
      });  //<<< here i am getting error in RUN   
      splash.FormClosed += delegate { 
       System.IO.File.Delete(newFilePath); 
       this.Show(); 
      }; 
     } 
    } 
+0

Опубликовать сообщение об ошибке. –

+0

http://msdn.microsoft.com/de-de/library/system.threading.tasks.task.run(v=vs.110).aspx только Net4.5 – blindmeis

ответ

1

System.Threading.Tasks.Task.Run не существует в .NET 4.0. Вам необходимо использовать Task.Factory.StartNew:

System.Threading.Tasks.Task.Factory.StartNew(() => { 
    PrintFactory.sendTextToLPT1(strPrint); 
}); 
+1

Пока вы правы, это не будет вызывать устаревшее сообщение об ошибке. Пусть OP обновит сообщение –

+0

@SriramSakthivel: Да, верно, но я догадался, например, OP. неправильно интерпретировать ошибку (поскольку это имеет гораздо больший смысл). Как только ОП обновит ее вопрос, я также приспособирую свой ответ, если понадобится ... – ChrFin

+0

@ChrFin, который был отличным благодаря большому количеству .. SIr –

Смежные вопросы