advertisement
Premier Club Log In/Registration
  Include Code  Search Tips
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   SKILLBUILDING  |   TIP BANK  |   SOURCEBANK  |   FORUMS  |   NEWSLETTERS
Browse DevX
Download the sample applications for this article.
Partners & Affiliates
advertisement
advertisement
Rate this item | 0 users have rated this item.
 Print Print
 
Mono IDEs: Going Beyond the Command Line
Choosing to develop for Mono no longer means that you're also have to throw away the advantages that integrated IDEs provide. Instead, you have a wide—and growing—range of Mono IDE options. 

advertisement
ike the freely downloadable Microsoft .NET Framework 2.0 SDK, the free open source Mono platform provides a number of command line utilities used to compile .NET source code and manipulate the resulting assembly such as to assign a strong name, deploy the image to the Global Assembly Cache (GAC), view type metadata, etc. Many of the Mono tools even have the same name as their Microsoft counterparts and offer similar functionality. Table 1 provides a Mono-to-Microsoft .NET comparison of some common command-line development tools.


Author's Note: This article assumes a basic understanding of the Mono platform, the C# programming language and the mechanics of the .NET framework. If you are new to Mono development, I'd suggest reading the article An Introduction to Mono Development before proceeding.

Table 1. The table shows common Mono vs. Microsoft .NET command line development tools.
Mono Command Line Tool Microsoft .NET Command Line Tool Meaning in Life
al al The assembly linker utility is used to manipulate assembly manifests and build multifile assemblies (among other activities).
mcs/gmcs csc The C# language compiler.
mbas vbc The Visual Basic language compiler.
gacutil gacutil Used to interact with the GAC.
mono (when specifying the -aot command option) ngen Performs a pre-compilation of an assembly's CIL code.
wsdl wsdl Generates client side proxy code for an XML Web services.
disco disco Discovers the URLs of XML Web services located on a Web server.
xsd xsd Generates type definitions from an XSD schema file.
sn sn Used to generate key data for a strongly named assembly.
monodis ildasm The CIL disassembler.
ilasm ilasm The CIL assembler.
xsp2 webdev.webserver A testing and development web server for ASP.NET 2.0 applications.

While it is certainly true that you can make use of the Mono command line tools and your text editor of choice to build any sort of .NET application, raw command line tools offer little by way of developer productivity. But if you've always believed you'd have to give up the comforts of an IDE to develop for Mono, think again. This article provides a high-level survey of three Integrated Development Environments (IDEs) that can facilitate the construction of Mono applications. As you can gather from Table 2, some of these tools are open source. Each targets a particular set of Mono-aware operating systems.

Table 2. Here's a sampling of Mono-aware IDEs.
Mono-aware IDE Runs on Windows? Runs on Unix \ Linux? Runs on Mac OS X? Open Source?
SharpDevelop Yes No No Yes
MonoDevelop See below Yes Yes Yes
X-Develop Yes Yes Yes No

Author's Note: Technically it is possible to install MonoDevelop on Windows using the cygwin Unix-emulation environment; however I won't examine this topic here.

The purpose of this article is not to provide details regarding every option or feature provided by each IDE (menu choices, use of the visual designers, building custom code snippets, etc), but rather to show you the core details required to compile C# code against the Mono base class libraries and run the assembly under the Mono runtime.

  Next Page: Building Mono Applications using SharpDevelop


Page 1: IntroductionPage 4: Building Mono Applications using MonoDevelop
Page 2: Building Mono Applications using SharpDevelopPage 5: Building Mono Applications using X-Develop
Page 3: Configuring the Mono Compiler 
advertisement
Advertising Info  |   Member Services  |   Permissions  |   Contact Us  |   Help  |   Feedback  |   Site Map  |   Network Map  |   About


JupiterOnlineMedia

internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and JupiterOnlineMedia

Jupitermedia Corporate Info


Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.

Advertise | Newsletters | Tech Jobs | Shopping | E-mail Offers

Solutions
Whitepapers and eBooks
IBM eBook: Planning a Service Oriented Architecture
IBM eBook: Choosing the Right Architecture--What It Means for You and Your Business
Microsoft Article: Will Hyper-V Make VMware This Decade's Netscape?
Avaya Article: Using Intelligent Presence to Create Smarter Business Applications
Intel Go Parallel Article: Getting Started with TBB on Windows
Microsoft Article: 7.0, Microsoft's Lucky Version?
Avaya Article: How to Feed Data into the Avaya Event Processor
IBM Article: Developing a Software Policy for Your Organization
Microsoft Article: Managing Virtual Machines with Microsoft System Center
Intel Go Parallel Article: Intel Threading Tools and OpenMP
HP eBook: Storage Networking , Part 1
Microsoft Article: Solving Data Center Complexity with Microsoft System Center Configuration Manager 2007
MORE WHITEPAPERS, EBOOKS, AND ARTICLES
Webcasts
HP Video: StorageWorks EVA4400 and Oracle
HP Webcast: Storage Is Changing Fast - Be Ready or Be Left Behind
Microsoft Silverlight Video: Creating Fading Controls with Expression Design and Expression Blend 2
MORE WEBCASTS, PODCASTS, AND VIDEOS
Downloads and eKits
Red Gate Download: SQL Toolbelt and free High-Performance SQL Code eBook
Iron Speed Designer Application Generator
MORE DOWNLOADS, EKITS, AND FREE TRIALS
Tutorials and Demos
Silverlight 2 App and Walkthrough: Leverage Silverlight 2 with SQL Server and XML
IBM Article: Enterprise Search--Do You Know What's Out There?
HP Demo: StorageWorks EVA4400
Microsoft Article: The Progress and Promise of Deep Zoom
Microsoft How-to Article: Get Going with Silverlight and Windows Live
MORE TUTORIALS, DEMOS AND STEP-BY-STEP GUIDES