Running .NET binary with mono
Solution 1:
See this link
Basically what you have to do is to use one of the Mono tools (mkbundle is a generic one while macpack is designed to work on Mac OS X) to link all your application executables, resources and dll in a single executable file that can be later run as a single app.
From the macpack doc:
macpack is a tool that must be used to bundle Cocoa# applications into Double-Clickable, Finder friendly, bundles on Mac OS X. It bundles static libraries and resources, as well as generates a basic info.plist into the .app bundle.
For example the following commands are used to build the CurrencyConverter.exe into an application bundle:
$ mcs -g -debug+ CurrencyConverter.cs -out:CurrencyConverter.exe -pkg:cocoa-sharp
$ rm -rf CurrencyConverter.app
$ macpack -m:2 -o:. -r:/Library/Frameworks/Mono.framework/Versions/Current/lib/
libCocoaSharpGlue.dylib -r:CurrencyConverter.nib -n:CurrencyConverter
-a:CurrencyConverter.exe
The resulting CurrencyConverter.app is just another Mac OS X application as far as the Finder is concerned, and can be opened from Finder, or launched from Terminal using the open -a CurrencyConverter command.
Solution 2:
Improving Calavera’s answer to allow you to do it with a parameter, the script should look like:
#!/bin/bash
mono $1
That way you can do:
./abc.sh name_of_the_app.exe
I would have added this as a comment, but the format would have been lost
Solution 3:
I don't have a lot of experience with mono but you'll probably have to create an executable shell script that does the mono call for you. Something like:
$ vi abc.sh
#!/bin/bash
#abc.sh
mono abc.exe
:wq
$ chmod +x abc.sh
$ ./abc.sh