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