Он просто зависает случайно, не отвечает, не выдается исключение, как в режиме выпуска, так и в режиме отладки. (обычно через несколько часов после начала)
В режиме отладки, когда происходило зависание, если я устанавливаю какую-либо точку останова в visual studio или паузу, оно также сразу останавливается, пока я не убью vs и программу соответственно в taskmgr.
В моей программе нет неуправляемого кода, нет p / v, и я просто мало что меняю, помещаю что-то даже не относящееся к делу в цикл try-catch.
Я снова проверил свой код и понятия не имею, почему он зависает с такими изменениями.
Любая помощь?
Это наиболее вероятная причина остановки (Это делегат фонового потока!)
Это было только
File.Delete (di.Path);
Я изменил на это:
while (true)
{
try {
File.Delete(di.Path);
break;
}
catch (Exception exex)
{
Logger.Log("2827 form1 cs unable to delete: " + exex.Message);
Thread.Sleep(500);
}
}
Я не могу себе представить, что это вызовет такую ситуацию, если это действительно причина. Согласно журналу, авария находится перед делегатом.