Целью этого руководства является определение основного процесса создания приложений в MonoDevelop, а также демонстрация нескольких практических советов, необходимых для начала работы. Мы создадим простое консольное приложение, которое будет ссылаться на отдельную библиотеку
- Решение - группа проектов MonoDevelop. Данные хранятся в XML-файле с расширением '.mds' в директории с Вашим решением. Примечание: решение в своем составе может содержать другие решения;
- Проект - цель, которая может быть построена в формат библиотеки, либо исполняемого файла. Каждый проект состоит из файлов исходного кода, ссылок на библиотеки и файлов ресурсов (например, изображения). Эта информация хранится в XML-файле с расширением '.mdp', расположенном в каталоге с решением.
В меню File выберите New project, что приведет к открытию окна New project. Выберите C# из списка доступных языков и Console Project из списка шаблонов. Задайте имя Вашего приложения как на рисунке ниже:
После этого, нажмите на кнопку New. В результате будет создана новая папка для Вашего решения в директории проектов Вашей домашней папки. Шаблон Console Project предоставляет приложение, которое сразу же может быть построено. Вы можете проверить это, нажав пункт Run в меню Run. В итоге будет построено приложение с выводом информации во вкладку Application Output
Мы не хотим включать все функциональные возможности в исполняемый файл нашего приложения, мы хотим создать обычную библиотеку. Для того, чтобы это сделать, мы должны нажать правой кнопкой мыши на иконку с решением в Solution Pad, выбрать Add=>Add New Project. Теперь в окне "New solution" выберем в качестве используемого языка программирования C# и Library в качестве шаблона. Зададим имя "MyLibrary" и нажмем "New". В результате будет создан новый проект внутри нашего решения.
Теперь наше решение содержит новую библиотеку с одним единственным классом "MyClass", который в настоящий момент времени не содержит ни строчки кода.
Теперь в нашем решении имеется два проекта:
- исполняемый;
- библиотека.
Решение со множеством проектов будет строить и запускать все из них в том порядке, который был указан Вами. Однако, мы хотим сделать запускаемым приложением MyApplication, поскольку оно является исполняемым и именно его мы хотим запустить.
Если мы хотим использовать нашу новую библиотеку, необходимо указать это MonoDevelop, добавив необходимые ссылки. В Solution Pad разверните узел нашего проекта MyApplication. Кликните правой кнопкой мыши и выберите Edit References. После этого появится окно ссылок. Выберите вкладку Projects. Наша библиотека должна была появиться в этом списке, что мы можем проверить на рисунке ниже:
Нажмите на кнопку Ok. Теперь все классы нашего проекта-библиотеки доступны нашему приложению. Давайте проверим это, создав экземпляр класса MyClass. Добавьте нижеследующий код в MyApplication=>Main.cs:
// project created on 01/19/2006 at 14:19
using System;
using MyLibrary;
class MainClass
{
public static void Main(string[] args)
{
MyClass test = new MyClass ();
Console.WriteLine("Hello {0}", test);
}
}
Наконец, мы можем построить и запустить наше приложение, которое должно вернуть следующий результат:
Hello MyLibrary.MyClass
Хотя этот урок особо не впечатляет, мы надеемся, что он помог Вам понять основы MonoDevelop и возможно дал Вам некоторый базовый материал, необходимый для настройки и начала разработки первых приложений.
Используя версию MonoDevelop 0.9, можно построить решение из командной строки. Используя приведенный выше пример, мы могли бы поступить следующим образом:
mdtool build --f --buildfile:MyApplication/MyApplication.mds
В результате мы получили бы примерно следующий вывод:
MyApplication/MyApplication.mds
MonoDevelop Build Tool
Loading combine: /home/scottell/Projects/MyApplication/MyApplication.mds
Loading project: /home/scottell/Projects/MyApplication/MyApplication.mdp
Loading project: /home/scottell/Projects/MyLibrary/MyLibrary.mdp
Building Solution MyApplication
Building Project: MyLibrary Configuration: Debug
Performing main compilation...
Build complete -- 0 errors, 0 warnings
Building Project: MyApplication Configuration: Debug
Performing main compilation...
Build complete -- 0 errors, 0 warnings