web-dev-qa-db-ja.com

タイプまたは名前空間名「async」が見つかりませんでした

WPFアプリケーションで次のメソッドを使用しようとしています.NET Framework 4 Client Profileしかし、次のエラーが表示されます。

タイプまたは名前空間名「async」が見つかりませんでした

使っています

using System.Threading.Tasks;

何が間違っているのでしょうか?前もって感謝します

private async Task SumPageSizesAsync()
{
    HttpClient client = new HttpClient();
    Task<byte[]> getContentsTask = client.GetByteArrayAsync(url);
    byte[] urlContents = await getContentsTask;   
}

VS 2010を使用しています

16
GibboK

ええと、2つあります。

  • C#5コンパイラを使用する必要があります。 VS2012。 VS2010を使用している場合は、非同期を使用できません。エラーメッセージが表示されるので、間違ったバージョンのコンパイラを使用していると思います。
  • Microsoft.Bcl.Async NuGetパッケージ .NET 4の適切なライブラリサポートを導入します。
25
Jon Skeet

私の場合、戻り値の型がありませんでした。メッセージの原因はコードです。

private async button1_Click(object sender, EventArgs e)

とする必要があります

private async void button1_Click(object sender, EventArgs e)
13
Tomas Kubes

Visual Studio 2012+を使用していて、赤い波線が表示された瞬間に入力をやめると、メソッドシグネチャの作成が完了するまで、asyncキーワードでこのエラーメッセージが表示される場合があります。

メソッドシグネチャの記述を終了し、他のコンパイラの問題がないことを確認し、Visual Studioが追いつくまで1秒ほど待ちます。

12
Jason