Mono Tools Plug-in for Visual Studio

Novell on Tuesday announced the release of Mono Tools for Visual Studio, a Visual Studio 2008 add-in that enables Windows-based developers to create .NET applications for Linux, Unix and Mac OS X. The solution promises to greatly simplify cross-platform .NET development, by allowing Visual Studio developers to use the same tooling, interface, libraries and resources for cross-platform development that they use for traditional .NET coding.

"From within Visual Studio you just say "Run on Linux," and a little pop up comes up asking you which Linux machine you want to take [the code] to," said Novell VP of Developer Support Miguel de Icaza, of the Mono Tools interface. "You are still developing against .NET and the .NET libraries. It is completely the .NET tool chain and .NET compiled code right up to the debugger. And then the debugger integrates into the Visual Studio interface."

Mono Tools includes integrated test and debug, allowing developers in Visual Studio to detect incompatibilities in code in the move from .NET and Windows to Mono and Linux. Code can be compiled and run on a local, Windows-based Mono stack, as well as on remote Linux servers.

Mono Tools is based on work done by the Mono Project, a Novell-sponsored initiative to create a cross-platform, open source implementation of the Microsoft .NET Framework. The Mono effort leverages the ECMA-approved C# and Common Language Runtime (CLR) industry standards, providing compatibility with .NET Framework 3.5.

Portions of the .NET foundation stack, including Windows Presentation Foundation and Windows Workflow Foundation, are not supported by Mono. De Icaza noted that existing .NET applications containing unsupported code features would need to be adapted before moving cross-platform via Mono Tools or other solutions. Mono does support Windows Communication Foundation, with the notable exception of Microsoft's Windows CardSpace (code named InfoCard) identity system.

By Developer Demand
Joseph Hill, product manager for the Mono Project at Novell, said Mono Tools was developed in response to programmer demand.

"We did a survey a while back. We found a lot of nascent use of Mono across the board -- a lot of interest in it and a lot of interest in cross-platform environments," Hill said. "But the thing holding it back was lack of support from Visual Studio."

De Icaza said Mono Tools for Visual Studio could end up being an important factor in attracting talent to the Mono developer community.

"We don't want people to move away from Visual Studio. They might love Resharper or their favorite add-in for databases," de Icaza said. "We can bring these features to .NET developers who might otherwise find themselves with a steep learning curve."

Mono Tools also attempts to appeal to ISVs and others with its ability to create pre-rolled application appliances. Mono Tools' SUSE Studio interface lets developers package Mono applications with a tuned version of the SUSE Linux operating system, creating a fully packaged app-and-OS combination that can be run with little or no on-site configuration, de Icaza said.

"We call this the appliance model, where developers instead of delivering a piece of the puzzle can deliver the complete solution," de Icaza said.

Mono Tools for Visual Studio is available in three editions. Professional Edition is an individual license for $99, Enterprise Edition is intended for individual developers in an organization and costs $249, and Ultimate Edition provides five enterprise developer licenses and includes a limited commercial license to redistribute Mono across platforms. It costs $2,499.

About the Author

Michael Desmond is an editor and writer for 1105 Media's Enterprise Computing Group.