Alex Rivera | Logout

How cross-platform .Net framework really is?

Asked 2010-05-04T20:53:40.600
10

What is normally to be done to run a WinForms application on a Mac or Linux machine?

a. Just copy and run (assuming they have a Framework installed).
b. Rebuild.
c. Cosmetic source code modifications.
d. Heavy source code modifications and forms redesign.

Assuming that the application is developed as 100% managed C# 3 code by means Visual C# Express or Visual Studio 2008 targeting .Net Framework 3.5, developed without using any 3-rd party components/libraries, without encapsulating nonmanaged code or any low-level hacks - only standard Microsoft-documented .Net Framework C# API used). Or the same conditions but C# 4 language, .Net Framework 4 and Visual Studio 2010.

Is there somewhere a practical guide for developing Mono-ready applications while using MS .Net Framework and Visual Studio? Any guidelines, tips, specific aspect highlights, informing a developer of what he really needs to keep in mind to write an easily portable application without having to lookup every function in the Mono reference while coding in Visual Studio.

Edit
Report

1 Answer

0

Theoretical, .Net is fully cross platform, as it doesn't depend on specific architecture, but on a VM.

In practice though, you have the microsoft implementation for windows, and the mono implementation for linux/mac. The main problem is that the implementations can differ from each other, making it hard to run an application on multiple machines out of the box.

Source code shouldn't have to be altered, if not some of the libraries are not ported to mono, or different libraries are used.

C# 4 can be a bit harder, because mono isn't yet up-to-date to the microsoft implementation.

answered 2010-05-04T21:00:03.347

Your Answer