То, как я делал это в прошлом, - это скомпилировать приложение .Net как консольное приложение, а затем на сервере Linux создать сценарий запуска в каталоге initscripts.
Очевидно, что в Linux нет служб Windows, и демоны, которые запускаются из каталогов rc.d при запуске, являются его эквивалентами. Все, что делает большинство скриптов rc.d, - это запускает различные приложения в фоновом потоке, поэтому в этом нет ничего сложного. Единственная дополнительная работа заключается в том, что вам нужно написать сценарий оболочки Linux для запуска и, если вы хотите, остановить службу.