Free mag vol1 | Page 115

CHAPTER 2  BUILDING C# APPLICATIONS Building .NET Applications Using SharpDevelop As you might agree, authoring C# code with Notepad++ is a step in the right direction, compared to Notepad. However, these tools do not provide rich IntelliSense capabilities for C# code, designers for building graphical user interfaces, project templates, or database manipulation utilities. To address such needs, allow me to introduce the next .NET development option: SharpDevelop (also known as #Develop). SharpDevelop is an open source and feature-rich IDE that you can utilize to build .NET assemblies using C#, VB, Iron Ruby, Iron Python, C++ F#, or a Python-inspired .NET language named Boo. Beyond the fact that this IDE is completely free, it is interesting to note that it was written entirely in C#. In fact, you have the choice to download and compile the *.cs files manually or run a setup.exe program to install SharpDevelop on your development machine. Both distributions can be obtained from http://www.sharpdevelop.com. SharpDevelop provides numerous productivity enhancements. Here is a hit list of some of the major benefits. • Support for multiple .NET languages, .NET versions and project types • IntelliSense, code completion, and code snippet capabilities • An Add Reference dialog box to reference external assemblies, including assemblies deployed to the global assembly cache (GAC) • Integrated GUI designers for desktop and web applications • Integrated object browsing and code definition utilities • Visual database designer utilities • A C#-to-VB (and vice versa) code-conversion utility Impressive for a free IDE, is it not? Although this chapter doesn’t cover each of these points in detail, let’s walk through a few items of interest.  Note The current version of SharpDevelop (4.2) does support all C# or .NET 4.5 features. Be sure to check the SharpDevelop web site for future releases. Building a Simple Test Project After you have installed SharpDevelop, the File  New  Solution menu option allows you to pick which type of project you wish to generate (and in which .NET language). For example, assume you have created a C# Windows Application solution named MySDWinApp (see Figure 2-5). 48