Можно запускать обычные сборки через
Mono или
.NET Core. Последнее предпочтительней.
Программа уровня «Hello world» будет просто запускаться через выше указанные решения, например:
mono helloworld.exe
dotnet helloworld.exe
# выполнение из исходного кода в текущем каталоге:
dotnet run
Для более сложных решений может потребоваться дополнительная адаптация кода. Под
.NET Core это сделать удобней и проще. Писать и собирать код вполне можно в
Visual Studio под
Windows.