I have a .NET application that I need to launch into its own process from another .NET application. If I only cared about it working on Windows, it’s easy, I can just use System.Diagnostics.Process.Start, specify the path to my exe, and I’m good to go.
The trick is, this is for a MonoDevelop addin, so I need to do this is a way that works across platforms, and on Mac and Linux you can’t count on the OS knowing what to do with a .NET assembly without some help (ie, calling mono myapp.exe).
Since this is for a MonoDevelop addin, an answer making use of the Mono or MonoDevelop libraries would be acceptable.
If you use Process.Start from Mono on a .NET executable, it will be run with Mono automatically. It will not be passed directly to the OS.