10

C# で非同期にプログラミングする方法についてこのチュートリアルを実行していて、解決方法がわからないエラーに遭遇しました。リンクは次のとおりです: http://msdn.microsoft.com/en-us/library/hh191443.aspxエラーは次のとおりです。

Cannot find all types required by the 'async' modifier.  
Are you targeting the wrong framework version, or missing a reference to an assembly?   

私は .NET 4.0 フレームワークをターゲットにしていますが、追加のアセンブリが必要かどうかはわかりません。

コードは次のとおりです。

public async Task<string> AccessTheWebAsync(Class1 class1, Class2 class2)
{
  // GetStringAsync returns a Task<string>. That means that when you await the 
  // task you'll get a List<string> (urlContents).
  Task<string[]> listTask = GetList(class1);

  // send message task

  // You can do work here that doesn't rely on the string from GetStringAsync.
  //CompareService();

  // The await operator suspends AccessTheWebAsync. 
  //  - AccessTheWebAsync can't continue until getStringTask is complete. 
  //  - Meanwhile, control returns to the caller of AccessTheWebAsync. 
  //  - Control resumes here when getStringTask is complete.  
  //  - The await operator then retrieves the string result from getStringTask. 
  string[] listContents = await listTask;

  // The return statement specifies an integer result. 
  // Any methods that are awaiting AccessTheWebAsync retrieve the length value. 
  return listContents;
}

public Task<string[]> GetList(Class1 class1)
{
    var taskArray = Task<string[]>.Factory.StartNew(() => GenerateResults(class1));
    return taskArray;
}
public string[] GenerateResults(Class1 class1)
{
    string[] results = new string[2];
    results[1] = "";
    results[2] = "";
    return results;
}
4

3 に答える 3

1

BCL.Asyncここで説明されているようなライブラリ を使用する必要があります: Using async without .net 4.5

于 2013-11-07T14:52:44.567 に答える