Есть несколько проблем и потенциальных проблем с кодом, но самая непосредственная из них заключается в том, что WriteAllBytes
не требует вызова OpenWrite
Когда вы вызываете OpenWrite
, вы открываете файл для записи с этим файловым объектом, который возвращается, и запрещаете любые другие попытки открыть файл, пока он снова не закроется. Поскольку вы никогда не вызываете Dispose
, он останется заблокированным до завершения вашей программы.
И проблема, связанная с кодом, заключается в том, что вы избавляетесь от диалогового окна только в том случае, если результат равен OK
, когда его всегда следует удалять независимо. Вы должны заглянуть в оператор using
для обработки утилизации ресурсов. Dispose необходимо вызывать, даже если это исключение, поэтому вам нужно либо обернуть код, который использует одноразовый объект в try..finally
, либо использовать using
, который сделает это за вас.