2017-05-21 36 views
1

私は単純なbleuwwpで作業しています。私は、私は、Visual Studioで働いています。このcodeFromBluetoothAddressAsync IAsyncOperationに 'GetAwaiter'エラーの定義が含まれていません

に言及してきたことは、私が持っているコアコードは以下のように

である2017年:ラインvar dev = await BluetoothLEDevice.FromBluetoothAddressAsync(eventArgs.BluetoothAddress)

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 
using System.Windows.Threading; 


using Windows.Devices.Bluetooth.Advertisement; 
using Windows.Devices.Bluetooth; 
using Windows.Devices; 
using Windows.Foundation; 
using Windows; 

namespace WindowsFormsApp2 
{ 
    public partial class Form1 : Form 
    { 

     private BluetoothLEAdvertisementWatcher watcher; 

     public Form1() 
     { 

      InitializeComponent(); 
      watcher = new BluetoothLEAdvertisementWatcher(); 

      watcher.Received += OnAdvertisementReceived; 
     } 

     private async void OnAdvertisementReceived(BluetoothLEAdvertisementWatcher watcher, BluetoothLEAdvertisementReceivedEventArgs eventArgs) 
     { 
      var dev = await BluetoothLEDevice.FromBluetoothAddressAsync(eventArgs.BluetoothAddress); 

      } 


    } 

は、それがエラーを与える

IAsyncOperationには、 の定義が含まれていません。「GetAwaiter」と最適な拡張メソッドオーバーレイ 'のウィンドウRuntimeSystemExtensions.GetAwaiter(IAsyncAction)は、このエラーは、まだ ' 'System.Runtime '私はへの参照を追加しようとしました

' System.Runtime.WindowsRuntime'、' Windowsのが、IAsyncAction」タイプの 受信機が必要です'表示されます。

私のグーグルでは、理由は、 'FromBluetoothAddressAsync'メソッドがタスクを返す必要があるようです。 msdnから

、私は 'FromBluetoothAddressAsync' メソッドは、次のような構造

のpublic static IAsyncOperation FromBluetoothAddressAsync(UInt64型bluetoothAddress、 BluetoothAddressType bluetoothAddressType)

を持っている。これは、それが返されることを意味していることを確認することができますIAsyncOperation。私が見ているように、これはタスク<>として何かと認識されているようです。

sIAsyncOperation <>がタスク<の子として認識されるようにするリンクが壊れているために問題がありますか?

私はこのエラーに近づく助けに感謝します。

答えて

3

IAsyncOperationを待つために、次の2つのことが必要です。どちらかの参照は、それが動作しません不足している場合は

  • C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETCore\v4.5\System.Runtime.WindowsRuntime.dll
  • C:\Program Files (x86)\Windows Kits\10\UnionMetadata\Facade\Windows.WinMD

への参照への参照を。また、UwpDesktopナゲットパッケージを使用することもできます。

+0

ありがとうございます。 'UwpDesktop'の解決策が私のために働いた。今、別のエラーがポップアップするが、少なくとも待っているエラーは表示されない。 – kwagjj

+1

ビルド15063のコードでは、 '' 'BluetoothLEDevice.FromBluetoothAddressAsync'''の呼び出しを逃してしまうのではないかと心配です – abinop

関連する問題