問題タブ [iasyncoperation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - コレクションとしての Win10 BLE デスクトップ アプリケーション IAsyncOperation
BLE をサポートする Windows 10 で動作するようにデスクトップ アプリをアップグレードする作業を行っています。この質問 (コンソールで Windows 8 ランタイムを参照するにはどうすればよいですか)で説明されているように、対応する Windows バージョンを対象とするようにアプリを変更しました。この例(Windows 10でBLE GATTサービスを使用)のように、段階的に実行しようとしています。まず、次のように ble scan を実行する必要があります。
しかし、コンパイル時に foreach ループに関連するエラーが発生します。エラーは次のとおりです。
エラー CS1579 foreach ステートメントは、タイプ 'Windows.Foundation.IAsyncOperation' の変数を操作できません。'Windows.Foundation.IAsyncOperation' には 'GetEnumerator' のパブリック定義が含まれていないためです。
c# - IAsyncOperation>' には 'GetAwaiter' の定義が含まれていません
Visual Studio 2017 Professional を使用しています。
私はこのガイドに従っています: https://docs.microsoft.com/en-us/windows/uwp/design/shell/tiles-and-notifications/notification-listener
私の問題コードは次のとおりです。
問題は次の行にあります。
エラーが発生します:
'IAsyncOperation<IReadOnlyList<UserNotification>>'
'GetAwaiter' の定義が含まれておらず、タイプの最初の引数を受け入れる拡張メソッド 'GetAwaiter''IAsyncOperation<IReadOnlyList<UserNotification>>'
が見つかりませんでした ('System' の using ディレクティブがありませんか?)
参照の追加から次への参照の追加から、オンラインで見つけることができるすべてを試しました。
- 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
NuGet パッケージを追加するには:
- Uwpデスクトップ
- Microsoft.NETCore.UniversalWindowsPlatform
VS を再インストールし、異なるバージョンの SDK を試す。
何がこの問題を引き起こしているのか本当にわかりません。正しい方向への指針に非常に感謝しています。