Introduction and Background
In the previous posts for the series I talked about the IDE itself, I talked about the tools provided in the MonoDevelop and the Mono Project for C# developers that would help them do their jobs quickly. You may want to read those posts first and then continue to read this post, or the either way as I have tried to abstract the posts enough.
- Guide for building C# apps on Ubuntu: MonoProject Introduction
- Guide for building C# apps on Ubuntu: Language quickies
Later, you can continue to read this post. This post has a primary focus on the project files, compiled assemblies and the executable files generated after the build process. So, although this would be a very short guide, I would try to explain every aspect of it. You can however, do let me know if you find something missing here.
I assume that you already have an idea of C# project files, typically they are:
- One solution file (.sln)
- A folder for the project itself.
- Properties files
- Binary and object files folder.
You will find this template for a project of C# everywhere, from Console to any graphical application that you may be using. The template is chosen to make sure you can always skim through the file system and find the required item there. So now let’s talk about these items in detail.
Project files and output locations
If you have ever programmed in C# on Windows, using Visual Studio you may know the common folders and locations for the project and the generated binaries. For each of the project that you create, Visual Studio creates a quite similar project directory and puts the source code, project settings files, and others in that directory.
MonoDevelop does the same for you! MonoDevelop would ask for a location to create the directory for the project and would then use that location to create new files, and to place the compiled executables. We are going to talk about a few of these locations and the files generated there.
1. Project directory itself
First of all, let us talk about the project directory that gets created. This location is chosen by you, you are given full permissions to choose a location to select the directory at. You can enter the location and then MonoProject would use the same location to perform the actions, like creating and adding new files, resources and source files, also the same location is used to generate and place the binaries and object code files. So, this directory is used throughout the project life, chose it wisely.
So, for example, when we created the project (in the previous sections), we entered the following location to be selected as the project directory.

Figure 1: Creating the project and entering the location for the project directory
Have a look at the “Location” field in the above window. We can change it from here, we can also browse for a new location and well, you get the idea that we can create the directory anywhere that we find it helpful and easy to be found!
Remember: Projects is also a manual location in Ubuntu, by default the home folder for users do not contain a folder named Projects.
Once we create the project, the files are generated at that location and the project window opens. However, we are only interested in viewing the directory itself and not the project code. The files that are generated here, are very much similar to Visual Studio’s files, it also contains the solution file, Solution files typically hold the information for the project, files and other settings and configurations that you make in the project; like architecture support. Only these files are provided along with the templates because IDEs use a special project file to determine the configuration and the files for the project.
By default, the directory has 1 sub-directory and 2 files:

Figure 2: Root level of the project, one folder and solution and preferences files in the directory
As already discussed, the directory is used to hold the files and references for the projects and also holds the generated binaries and executable files. However, before diving any deeper. Let us talk about the files that we can see right here. These files contain the settings for the project and for the user sessions.
Solution file
First of all, let us talk about the solution file itself. The solution file is basically the settings and overall configurations that you make to the project itself. The project is what you create when you start Mono and go ahead creating something. Things that you create in a project are files, resources and source code files etc.
We can open the file up in the text editor, the code in this file is simply commands and settings that would train the environment to set up the configuration for build and a few others, like the name of the project (obviously!)
This file contains the information about:




Santhakumar MunuswamyPosted Jan 23, 2016, 2:21 AM
Thanks for nice share
Kumaresh RajalingamPosted Jan 19, 2016, 10:54 PM
Nice share sir