時々、私の統合テストのいくつかが上記のメッセージで失敗しています。私は以下のコードを使用してポートを準備しています。SerialPort UnauthorizedAccessException
for(int i = 0; i < 5; i++)
{
try
{
port.Open();
if (port.IsOpen)
break;
}
catch (Exception e)
{
try
{
port.Close();
}
catch (Exception)
{}
Thread.Sleep(300);
}
}
私の仮定のいずれか((それはそれを閉じようとしますので)それがポートをブロックし、現在のスレッドにすることはできませんので、それが適切にクリーンアップせずに死亡した別のスレッドまたはプロセスでなければならないということです他のテスト - このポートには何もアクセスしません)。 SerialPort
の状態をリセットして、新しいスレッド/プロセスが再びそのスレッドにアクセスできるようにする方法はありますか?
おかげで、
リチャード
ありがとうHans - これは、異なるテストプロセスが開始されたときのテストでのみ発生します。 –