[Mono-dev] FileSystemWatcher on Windows (compared to .NET4)
Gonzalo Paniagua Javier
gonzalo.mono at gmail.com
Wed Feb 9 17:44:51 EST 2011
On Mon, 2011-02-07 at 14:28 -0800, kpfaulkner wrote:
> I've noticed that the results for "renamed" and "delete" events on mono
> (2.8.2) and "native" .NET 4 are different.
> If I rename a directory for example I get:
> - mono I get a bunch of delete and create's... which is fairly useful.
> - .NET 4 I get a simple "renamed" event for the parent directory. No
> information about the contents.
> Although I find monos results far more useful (means I dont have to code up
> the subdir listing to get filenames myself) I'm thinking that
> compatibility/consistency with "real" .NET is more important.
> Could someone tell me if this is an intentional difference, or whether this
> is simply a bug that I need to register.
On Windows, Mono uses the default backend for monitoring files, which
does not use any OS APIs. That backend has no way of knowing the
difference between a rename and a delete|create.
On linux, we use inotify and the events will defer (you can make Mono
the default backend if that's what you want. Check out the mono(1)
More information about the Mono-devel-list