問題タブ [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.

0 投票する
0 に答える
586 参照

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' のパブリック定義が含まれていないためです。

0 投票する
1 に答える
1980 参照

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 を試す。

何がこの問題を引き起こしているのか本当にわかりません。正しい方向への指針に非常に感謝しています。