Вам потребуется вызвать Application.Run () в вашем методе Main (), чтобы установить механизм синхронизации Windows Forms, чтобы FileSystemWatcher мог правильно перенаправить вызов в основной поток. Проблема, с которой вы столкнетесь, заключается в том, что основная форма станет видимой. Исправьте это, вставив этот код в класс:
protected override void SetVisibleCore(bool value) {
if (!this.IsHandleCreated) {
this.CreateHandle();
value = false;
}
base.SetVisibleCore(value);
}
Нет ограничений на то, как будет выглядеть ваша форма, если вы сделаете это.