Какой лучший способ в С# настроить приложение-утилиту, которое можно запустить из командной строки и произвести некоторый вывод (или записать в файл), но это может быть запущено как служба Windows, а также для выполнения своей работы в фоновом режиме (например, мониторинг каталога или что-то еще).
Я хотел бы написать код один раз и иметь возможность либо вызывать его интерактивно из PowerShell, либо другого CLI, но в то же время также найти способ установить тот же EXE файл, что и служба Windows, и запустить его без присмотра.
Могу ли я это сделать? И если да: как я могу это сделать?