Microsoft's current .NET platform can only run in a Windows32 platform, and does not seem to implement cross-platform. Microsoft currently focuses on the .NET platform development on the Windows platform, but Microsoft also provides the shared source code CLI implementation above FreeBSD. C # is Microsoft used to fight the object-oriented language of Java. C # (C Sharp) has been submitted as ECMA-334 standard, CLI (ECMA - 335), can know what Anders Hejlsberg can know that at the beginning of the design of CLR, .NET team is indeed considering .NET cross-platform Otherwise, there is no need to provide an intermediate platform (virtual machine) on Windows. Microsoft's position is "not com, but it is better COM", meaning .NET does not rely on COM technology.
NET is different from the other products of MS, since it is submitted to become a standard, .NET is not entirely MS, and the world of Linux is also different, and Sun's influence between Java is even more than MS. NET's influence is also large, after all, Sun also firmly grasps the Java standard. Now porting Microsoft .NET Framework to the Linux platform an Open Source project Mono project (http://www.go-mono.org/ ). After a long time, Mono finally released a new version 0.29. This version has a lot of major improvements, including the ASP.NET I want to see, I hope to launch Mono 1.0 in the first quarter, I can let. NET realizes a cross-platform cross-platform. Mono has also developed its own unique, and has its own namespace. In accordance with their statement, Mono may become the third choice other than .NET and J2EE platforms, his advantage is also obvious, to a certain extent, .NET keeps compatibility (at least fully compatible .NET 1.0), but does not exclude techniques from third parties (such as CORBA), will have their own living space in the future.