質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Q&A

解決済

1回答

6821閲覧

bluetooth通信の初期処理時に発生するエラーが解決出来ない

csuser01234

総合スコア38

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

0グッド

1クリップ

投稿2016/07/26 02:36

[visual studio 2015] [C#] [windows10] [.NET Framework4.5.2]です。
現在bluetoothデータ発信デバイスから発信されるデータをPCで受信表示するアプリを作成しているのですが、サンプルを流用して作成してみたプログラムでエラーが発生し、解決出来ずに困っています。
エラー内容は下記です。

■エラー内容
**「型 'System.BadImageFormatException' の例外が mscorlib.dll で発生しましたが、ユーザー コード内ではハンドルされませんでした

追加情報:ファイルまたはアセンブリ 'System.Runtime.WindowsRuntime, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'、またはその依存関係の 1 つが読み込めませんでした。参照アセンブリを実行用に読み込むことはできません。 参照アセンブリはリフレクション専用ローダー コンテキストでしか読み込めません。 (HRESULT からの例外:0x80131058)

この例外のハンドラーがある場合は、プログラムを安全に続行できます。」
**

■コード

C#

1public async void Form1_Load(object sender, EventArgs e) 2 { 3 //---------------------------------------------- 4 //RSSI受信処理初期設定 5 //---------------------------------------------- 6 this.watcher = new BluetoothLEAdvertisementWatcher(); 7 8 /*元々コメントアウトになってたところ*/ 9 //// CompanyIDとかDataでフィルタリングしたいとき 10 //var md = new BluetoothLEManufacturerData(); 11 //// company id 0xFFFF (多分これ https://www.bluetooth.com/specifications/assigned-numbers/company-Identifiers) 12 //md.CompanyId = 0xFFFF; 13 14 //// data 0x1234 15 //var w = new DataWriter(); 16 //w.WriteUInt16(0x1234); 17 //md.Data = w.DetachBuffer(); 18 //this.watcher.AdvertisementFilter.Advertisement.ManufacturerData.Add(md);*/ 19 20 // rssi >= -60のとき受信開始するっぽい 21 this.watcher.SignalStrengthFilter.InRangeThresholdInDBm = -60; 22 // rssi <= -65が2秒続いたら受信終わるっぽい 23 this.watcher.SignalStrengthFilter.OutOfRangeThresholdInDBm = -65; 24 this.watcher.SignalStrengthFilter.OutOfRangeTimeout = TimeSpan.FromMilliseconds(2000); 25 this.watcher.Received += this.Watcher_Received; 26 27 watcher.Start(); 28 29 await BLEInitialize();//BLEイニシャル処理やるとエラーになる 160726時点 30 } 31 32public async Task BLEInitialize() 33 { 34 DeviceInformationCollection devices = await DeviceInformation.FindAllAsync(GattDeviceService.GetDeviceSelectorFromUuid(new Guid("0000180f-0000-1000-8000-00805f9b34fb")), new string[] { "System.Devices.ContainerId" }); 35 if (devices.Count == 0) 36 { 37 MessageBox.Show("Bluetooth デバイス が見つかりません"); 38 return; 39 } 40 GLOBAL.EcgList.Clear(); 41 DeviceTarget = 0; 42 for (int i = 0; i < devices.Count; i++) 43 { 44 if (devices[i].Name == ECGID) 45 { 46 DeviceTarget = i; 47 } 48 GLOBAL.EcgList.Add(devices[i]); 49 } 50 ECGID = devices[DeviceTarget].Name; 51 await BLEGatt.Instance.ConnectBluetooth(true, ECGID); 52 Device = devices[DeviceTarget]; 53 }

■問題点の詳細
・await BLEInitialize()を実行時にエラーが出る。await BLEInitialize()の中のどこかでエラーが出るのではなく、await BLEInitialize()を実行した時に上記のエラーが出る。

■特にわからない点
・エラーの追加情報で出ている「'System.Runtime.WindowsRuntime, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'」が理解出来ない。どこを確認して何を修正したらいいのかわからない。

何か解決の糸口になりそうなことがあれば教えて頂けると幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

いずれかのライブラリのビルドターゲットと実行環境のターゲットが一致していない可能性があります。
使用しているライブラリのビルドターゲットを調査し、以下のサイト様を参考に設定の変更を行ってみてください。

参考サイト

投稿2016/07/26 15:34

y-sakamoto

総合スコア194

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問