C# пытается заархивировать файл, используемый другим потоком
Я изучаю C# и имею проблему с IO.Exception. Поэтому мое маленькое приложение открывает каталог, проверяет там файлы изображений и, если оно находит какие-либо файлы, которые соответствуют предопределенным условиям, затем изменяет имя файла (копирует файл с новым именем, а затем удаляет старый файл). Проблема в том, что на следующем шаге я хочу взять все файлы из этой папки и поместить их в zip-архив. Если я просто открываю приложение и перехожу непосредственно к "архивированию файлов", все работает отлично, но если я открываю приложение и сначала делаю переименование, а затем пытаюсь сжать файлы, то происходит сбой при исключении ввода-вывода (файлы используются другим потоком),
Есть ли способ сообщить функции RENAME, чтобы она остановила поток после завершения, чтобы другая функция (ZIP) могла получить доступ к этим файлам?