FileSystemWatcher под моно - просмотр подкаталогов

У меня проблема. Я написал оберткуFileSystemWatcher который обнаруживает изменения вкорень папка и все ее подпапки. Ничего фантастического:

FileSystemWatcher watcher = new FileSystemWatcher ();
watcher.Path = this.Root;
watcher.IncludeSubdirectories = true;
watcher.NotifyFilter = NotifyFilters.LastWrite | NotifyFilters.LastAccess | NotifyFilters.DirectoryName | NotifyFilters.FileName;
watcher.Changed += new FileSystemEventHandler (watcher_Changed);
watcher.Deleted += new FileSystemEventHandler (watcher_Deleted);
watcher.Created += new FileSystemEventHandler (watcher_Created);
watcher.Renamed += new RenamedEventHandler (watcher_Renamed);
watcher.EnableRaisingEvents = true;

В то время как в .NET, под Windows, это работает как шарм. Но когда я перенес код на моно и запустил код под OSX, он работает правильно только в корневой папке.

Проблемы, которые я уже заметил:

События не генерируются для операций внутри папок, уже существующих в корневом каталоге, во время запуска наблюдателя.

Пути, через которые я прохожуEventArgs.FullPath свойство неверно (когда я копирую файл в path_to_root / some / more / subdirs / some.file, путь, который я получаю, просто path_to_root / some.file).

О проблеме с ненадлежащими путями уже сообщалось год назад (и похоже, что она была решена), но мой моно появился в декабре прошлого года (MonoDevelop говорит, что в разделе «Ссылки» это версия 4.0.0.0, это все, что я могу сказать о дистрибутиве). ) и ошибки все еще есть ... Смотрите:https://bugzilla.xamarin.com/show_bug.cgi?id=5747

Есть идеи? Мне действительно любопытно, есть ли обходной путь, не требующий написания собственного наблюдателя, который повторно опрашивает файловую систему, или запуска отдельного наблюдателя для каждой папки вкорень...

Заранее спасибо!

Ответы на вопрос(1)

Ваш ответ на вопрос