Your best bet is to try running Mono on the machine and hope for the best. However, there's a fairly strong likelihood that your code uses .NETisms not available in Mono and will require modification to port it.
deceptikon
Challenge Accepted
3,499 posts since Jan 2012
Reputation Points: 822
Solved Threads: 481
Skill Endorsements: 58
/Agree
Your best option is to re-write and re-compile using the C++ language and gcc compiler for Linux.
Mono might just work, so it's worth a try, but don't hold your breath.
Ensure your client understands that there will be porting work involved as you're switching operating systems. Make sure you give realistic time-scales and set expectations appropriately. The worst thing you can do is lie to your client.
It does you no favours and gives all developers a bit of a bad rep. Having a client that expects you to lie and deceive them is especially frustrating!
As you're going to effectively be re-developing your application, you should be able to charge them again for it (at a reduced rate obviously). But this depends on your initial contract that you signed.
If you can't program in C++ or for Linux, then unfortunately I don't think there is much that can be done to help.
Ketsuekiame
Veteran Poster
1,197 posts since May 2010
Reputation Points: 553
Solved Threads: 153
Skill Endorsements: 9
is have a configuration in monoDevelop IDE so that the executable file will run into centOS server?
You don't need the IDE to run an executable, you only need to install the virtual machine. Just like on Windows where you'd simply install the .NET packages and don't need Visual Studio.
I really can't help you much more than that as I'm neither familiar with Mono nor CentOS.
deceptikon
Challenge Accepted
3,499 posts since Jan 2012
Reputation Points: 822
Solved Threads: 481
Skill Endorsements: 58
1) Install mono on your Linux system
2) copy you program .exe (for instance myProgram.exe) and associated dll from Visual udio onto the Linux.
3) In Linux type the command :
mono myProgram.exe
4) See ... what happens.
And good luck! Yes, mono provides a .NET VM for Linux, but much stuff won't work because they assume a Windows environment. As suggested, either use C++, or optionally recode in Java if you really need something that will work well on both Windows and Linux. I'd recommend Java for such cross-platform stuff - I have written a LOT of cross-platform C++ code for Linux/Unix/Windows that had to behave identically on all such systems, and it is not trivial to do. Java is a lot easier to accomplish that.
rubberman
Posting Maven
2,676 posts since Mar 2010
Reputation Points: 378
Solved Threads: 316
Skill Endorsements: 53
It comes to my mind that I'd rather use some virtual machine like virtualbox for Linux and then install the the windows os and .net packages. I think that is the best solution to run the executable file in c#. What do you think?..
That doesn't strike me as something your client will go for, since the requirement was to run your program on CentOS. You could bring it up as an option, certainly, but don't be surprised if they poo-poo the idea.
deceptikon
Challenge Accepted
3,499 posts since Jan 2012
Reputation Points: 822
Solved Threads: 481
Skill Endorsements: 58