Не удалось найти имя или имя пространства имен 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
Ответы
Ответ 1
Ну, есть две вещи:
- Вам нужно использовать компилятор С# 5, например. VS2012. Если вы используете VS2010, вы не можете использовать async. Учитывая сообщение об ошибке, я подозреваю, что вы используете неправильную версию компилятора.
- Вам необходимо использовать
Microsoft.Bcl.Async
пакет NuGet, чтобы добавить соответствующую библиотечную поддержку .NET 4.
Ответ 2
Если вы используете Visual Studio 2012+ и перестаете набирать момент, когда вы получаете красную строку squiggley, вы можете увидеть это сообщение об ошибке в ключевом слове async, пока не закончите писать подпись метода.
Завершите запись сигнатуры метода, убедитесь, что нет других проблем с компилятором, и подождите секунду или около того, чтобы Visual Studio могла догнать.
Ответ 3
В моем случае тип возврата отсутствовал, сообщение было причиной по коду:
private async button1_Click(object sender, EventArgs e)
и должен быть
private async void button1_Click(object sender, EventArgs e)