Я также думаю, имея отдельную "версию" для нормального выполнения, и как услуга путь состоит в том, чтобы пойти, но это действительно требуется, чтобы выделять отдельный переключатель командной строки с этой целью?
не Мог Вы просто сделать:
public static int Main(string[] args)
{
if (!Environment.UserInteractive)
{
// Startup as service.
}
else
{
// Startup as application
}
}
, Который обладал бы "преимуществом", что можно только запустить приложение через двойной щелчок (хорошо при реальной необходимости в этом) и что можно просто поразить F5 в Visual Studio (без потребности изменить настройки проекта для включения того /console
Опция).
Технически, Environment.UserInteractive
проверки, если бы эти WSF_VISIBLE
Флаг установлен для текущей станции окна, но является там какой-либо другой причиной, куда это возвратилось бы false
кроме того, чтобы быть выполненным как (неинтерактивный) сервис?
Существует библиотека под названием Clothred , которая должна выполнять эту работу, но я никогда ее не тестировал.