TL;DR : what are the options nowadays to run a VS2015 solution on Linux?
I have a .NET application that runs fine in Windows and have received requests to port it to Linux. I have been trying very hard to understand what it meant today in 2015 but I am really confused with all the old posts pointing to Mono and the new posts talking about vNext (and still mention Mono). Also I have an okay background with .NET but I don't know a lot about Linux in general...
I followed a recent tutorial and managed to compile and run a Hello World console app in Linux. That required some installation of stuff I don't know, including Mono, and then running some "k" commands (kpm restore, kpm build, k run). However now I don't know how to move on to my real-world case scenario.
I have a VS2015 solution which has a lot of projects but only 4 are worth mentioning here: - CommonStuff - ServiceCore - ServiceWindows / ServiceConsole
All the code is in the ServiceCore project (class library), which itself has a reference to CommonStuff (another class library). ServiceWindows is a Windows Service project that simply calls the Main function of ServiceCore, and ServiceConsole does the same thing but in a console app (for debugging reasons, since it's not possible to debug a Windows Service project from Visual Studio).
Both CommonStuff and ServiceCore include a lot of .NET libraries as well as some 3rd party dlls. No Windows specific code however, no pinvoke or funky stuff.
If we consider ServiceConsole to become the app I want to run on Linux - what do I need to do to make it happen? Compiling Hello World was one thing but now, with all thoese references... I don't know where to start. Also, I can't even have the code to be compiled in Linux (proprietary code) so I need the code to be compiled in Windows and the compiled dll/exe to be run directly in Linux - is that something that is possible? I have seen a few posts saying that Mono can run compiled applications, but each and every Mono turorial I have seen starts with compiling. Also I'm not sure what this vNext is. I read stuff about the ability to run code in Linux if it's targetted for .net 6... but I have no idea how or what it means.
I would greatly appreciate if somebody could take some time to explain in some details what the options are nowadays and if it's realistic for a professional application or if it's only good for Hello Worlds yet.
Thanks
EDIT: Ok so it seems I can compile my code in VS and somehow run it on Linux using Mono - how?