Using and Debugging .NET Executable Configuration Types via Mono


Thank you to the entire team at Jetbrains for producing a great product.  Currently I have been enamored by the editing, refactoring, and code analysis features of the Rider IDE.  It is much better than Xamarin Studio and a welcome change.

However, I am having difficulty setting up a debugging session for a .NET executable on Mono.  In my previous workflow, this could be done simply by opening Xamarin Studio, then selecting "Debug Application" and giving the IDE the full path to the executable, the command line arguments and the working directory, and finally, ensuring the Mono run time is selected in the proper menu item.

In Rider this is not the case.  I do not see how to tell the IDE that when it runs the defined .NET executable, it should use Mono.  I looked at various sources and see screenshots and videos showing additional drop-down boxes where both the build tool and run time can be selected, appearing to the immediate left of the build type selector, CPU selector, and configuration selector.  In my build of Rider, however, these drop-downs are not there.  I am running the Rider build from November 21st (1.0 Public EAP) on Windows.

Is there a way to tell the Rider IDE to begin a debug session, running the application on the Mono run time? I have asserted I can run the application from inside the IDE, in the terminal window. by invoking the command line arguments just as if I were running the application in cmd.exe


For clarity:


I have continued to play around with Rider and have discovered that if I open the solution of the executable I wish to run, and set up a debug configuration of the type ".NET Project" for that executable, then I can indeed select the mono run time at that point and debug the executable.


The above report is based on the fact that I have a separate solution file that contains library code (.dll) that is dynamically loaded by the host process.  I want to be able to specifically launch the host process and set breakpoints in the open library solution's source code and have those breakpoints in the library code be hit.  This is accomplished in the Xamarin Studio IDE by opening the solution of the library code, and configuring the debugger to perform a debug launch of the host executable on the mono run time while having the library solution open.  


If this workflow is not applicable for Rider, are there any guides how to debug library code that is in separate solutions from the "host process" code that needs to run on specific run times?


Thank you for your feedback.

I have created a request, which as I think will simplify your workflow

Please correct me, if I haven't got you right.


Thank you for your reply Ivan!  This is what I am searching for.  As another alternative, instead of making a single checkbox for just the Mono runtime, is it be possible to make the runtime selection methodology some sort of drop down list, wherein you can select from a list of available runtimes?


Please sign in to leave a comment.