100%完全に挙動を解明できたわけではありませんが、とりあえず自分のプログラムが満足の行くレベルで動いたのでメモだけ。
問題 §
Windows 10のOSやSDKなどの環境一式をアニバーサリーアップデートに更新したところ、それまで動いていたプログラムがハングする。
状況 §
- lockステートメント内部ではawaitを使用できないので、awaitを使用しないでWaitメソッドで待っていた
- アニバーサリーアップデート以前のWindows 10では動いていた (Windows Phoneでは動いていない疑惑もある)
- アニバーサリーアップデートのWindows 10ではawait file.Properties.GetImagePropertiesAsync()の行でハングする (Waitメソッドで待っていたメソッド内)
解決 §
Waitメソッドは使用せずにawaitを使用する。そのために、その部分のコードをlockステートメントの外に出した。Task.Run()の使用で解決する可能性もある。