For a while now I been getting annoyed with how FileSystemWatcher works. To put it nicely, it does not do what you expect it to. I have created a wrapper that takes care of some of the annoyances, more specifically it does the following:

  • It ensures the appropriate event is fired. I don't want to get the "Changed" event when a file is created, I want to get the "Created" one instead! 
  • It ensures that no duplicate events are fired.

Grab it here, you are free to use it whichever way you want.