Вам необходимо восстановить соединение с FileSystemWatcher.
Сделайте вашу переменную типа FileSystemWatcher глобальной для вашего класса, добавьте событие WatcherError.
Внутри метода добавьте что-то вроде этого:
private static void WatcherError(object source, ErrorEventArgs e)
{
watcher = new FileSystemWatcher();//You might want to do a method and to setup all config...
while (!watcher.EnableRaisingEvents)
{
try
{
watcher = new FileSystemWatcher();//You might want to do a method and to setup all config...
}
catch
{
System.Threading.Thread.Sleep(30000); //Wait for retry 30 sec.
}
}
}
Вы не хотите использовать watcher = new ... вы бы предпочли иметь метод, который будет добавлять все события и устанавливать путь, но приведенный выше код дает вам хорошее представление о том, что делать.