DriveInfo クラスを使用すると、時折 Windows メッセージ ポップアップが表示されます。
私が使用しているコードはかなり標準的です。
var driveInfos = DriveInfo.GetDrives();
foreach (DriveInfo driveInfo in driveInfos)
{
if (driveInfo.IsReady &&
(driveInfo.DriveType == DriveType.Network || driveInfo.DriveType == DriveType.Removable))
try
{
var driveText = string.Format("{0} ({1})", driveInfo.VolumeLabel, driveInfo.Name);
Web を調べてみると、これはまれなエラーであることがわかりましたが、マシンの環境問題が原因のようです (chrome などを実行しているときに発生すると報告されています)。多くの人が、古い USB 参照をクリーンアップすることでこれを修正しました。
このエラーは、メッセージを表示する以外に、プログラムの正常な動作を実際に停止するものではありません。(そして、catch ブロックに閉じ込められません)
配布され、エンド ユーザーの PC で実行される予定の wpf アプリケーションであるため、メッセージ ボックスは表示されません。どうすればこれを行うことができ、その影響は何ですか?
編集:
さらに調査した結果、コードがバックグラウンド ワーカーを介して実行され、その 2 つのインスタンスが同時に実行されているために、この動作が発生している可能性があることがわかりました。
同じコードを取得し、バックグラウンド ワーカーを使用せずに実行すると、問題なく実行されるようです。