Also, just for kicks, try compiling your code with monoc. The resulting assemblies might be more... agnostic.
I did forget to mention this. If you are building a solution with visual studio, it is a good idea to recompile the solution with the mono compiler. The way build numbers are used in visual studio sometimes messes up the mono runtime, and compiling on mono eliminates this issue.
This also demonstrates one of the real strengths of .NET / Mono. It is fun to write an application in C# on either Linux or windows, and compile it, then copy the executable over and run it on the other platform. Or just copy the source code over and compile it on the other platform, and then copy it back and run it. Or any other combination you choose.
This isn't limited to Web applications either. Command line based applications work the same way. Applications using the Windows.Forms library will run, although you may run into problems, I'm not sure. Mono was depending on wine to correctly display the windows.forms controls, but now they are implementing a completely managed implementation. The gtk bindings (GTK#) runs on Windows, Linux, and Mac OSX. So now you can write applications that run on all three platforms *without* recompiling.
But what about dependencies?
In both the .Net framework and the Mono Framework, any custom libraries you depend on can either be loaded into the GAC (Global Assembly Cache) or merely reside in the same directory as the executable. Or any other predefined location. Come to think of it, you could probably define this location at runtime using Reflection...
But now I've wandered a bit from the originally reply (Sorry Jason).
Josh
On Wednesday 16 February 2005 15:37, Charles, Joshua Micah (UMKC-Student) wrote:
Also, just for kicks, try compiling your code with monoc. The resulting assemblies might be more... agnostic.
I did forget to mention this. If you are building a solution with visual studio, it is a good idea to recompile the solution with the mono compiler. The way build numbers are used in visual studio sometimes messes up the mono runtime, and compiling on mono eliminates this issue.
This also demonstrates one of the real strengths of .NET / Mono. It is fun to write an application in C# on either Linux or windows, and compile it, then copy the executable over and run it on the other platform. Or just copy the source code over and compile it on the other platform, and then copy it back and run it. Or any other combination you choose.
I haven't tried ASP.NET yet. Did Mono write their own implementation of the ASP library that you build the assembly against or are you supposed to use the ASP.NET libraries from a Windows platform?