ожидание вызова переходит в исключение - PullRequest
1 голос
/ 03 июля 2019

Я хочу позвонить по приведенной ниже строке кода из BluetoothLE Пример:

static async Task<int> OpenDevice(DeviceInformation DeviceInfo)
{
// some code

await BluetoothLEDevice.FromIdAsync(DeviceInfo.Id).AsTask().TimeoutAfter(_timeout);

// some code
}

Функция 'FromIdAsync' из класса 'BluetoothLEDevice':

[RemoteAsync]
public static IAsyncOperation<BluetoothLEDevice> FromIdAsync(string deviceId);

Я получаю это исключение:

Method not found: 'System.Threading.Tasks.Task`1<System.__Canon> System.Threading.Tasks.Task.FromCancellation(System.Threading.CancellationToken)'.

Я много искал, и недостаточно информации о методе FromCancellation. Кажется, этот метод автоматически вызывается, когда завершается ожидание. (это мое собственное предположение)

Я думаю о том, чтобы избежать звонка в ожидании. Любая работа вокруг или помощь будут оценены. У меня есть объект DeviceInformation, который имеет идентификатор устройства. Я хочу, чтобы объект «BluetoothLEDevice» двигался дальше с «Сервисами» и «Характеристиками». Я создаю консольное приложение Windows.

1 Ответ

0 голосов
/ 04 июля 2019

В соответствии с «GazTheDestroyer», я проверил все зависимости и пакеты.Были установлены избыточные пакеты.Было много версий .NET Framework в нескольких папках, таких как .Net_Framework, .NET_Portable, .NET_Core и некоторых других пакетов.

В настройках моего проекта: я использовал ссылку на сборку System.Runtime.WindowsRuntime.dllиз .NET_Framework.Но целью моего проекта было указание на .NET_Core, которые также имеют ту же DLL.

Итак, я обновился с:

<TargetFramework>core2.2</TargetFramework>

до:

<TargetFramework>net48</TargetFramework>

Это была причина, по которой он не работал.

...