.NET FileSystemWatcher在Mac OS上与Mono一起使用吗?

dea*_*mon 5 .net c# macos mono

我可以使用FileSystemWatcher编写Microsoft .NET程序,并期望它在Mac OS X下使用Mono而无需更改吗?

Jaa*_*jan 9

是的,它将无需更改即可运行.Mono包含适用于所有平台的FileSystemWatcher.

请记住,您的代码可能希望使用Path.PathSeperator与在不同平台上格式化目录名称的不同方式更加兼容.

  • 请注意,Mac上的实现不会捕获`Changed`事件.请参阅[此错误报告](https://bugzilla.novell.com/show_bug.cgi?id=428270).我发现的只是[此解决方法](http://lists.ximian.com/pipermail/mono-osx/2008-October/001664.html). (5认同)
  • 实际上,使用`Path.Combine(firstPartOfPath,secondPartOfPathOrPossiblyFilename)`通常更合适,而不是`Path.PathSeperator`. (4认同)
  • 您可能希望使用所有Path.*成员来避免跨平台问题. (3认同)
  • 另请注意,除直接位于根目录下的文件之外,它不能正常工作.请参阅此问题:http://stackoverflow.com/questions/16519000/filesystemwatcher-under-mono-watching-subdirs. (2认同)