Санкт-Петербургский государственный университет
Опубликован: 25.07.2014 | Доступ: свободный | Студентов: 1041 / 80 | Длительность: 17:26:00
Лекция 5:

Управление решениями и проектами в Visual Studio 2013

5.3. Пример создания консольного проекта

Рассмотрим для примера полный цикл работы с простым консольным проектом (приложением) - создание проекта, его визуализацию, компиляцию (сборку), выполнение и отладку.

Для создания проекта в основном меню и окне создания проекта выберем пункт File / New / Project / Visual C# / Windows. На рис. 5.2 изображены возможные типы (шаблоны) проектов вида Windows.

Проекты вида Windows в Visual Studio 2013

увеличить изображение
Рис. 5.2. Проекты вида Windows в Visual Studio 2013

Выбираем в окне создания проекта, в меню шаблонов проектов, в поле Project Name, пункт ConsoleApplication. Вводим имя нового проекта FirstApp и замечаем, что, одновременно с ним, в поле SolutionName, появляется точно такое же имя решения, т.е. одновременно создается решение под тем же именем, частью которого становится новый проект. На этом шаге, при желании, мы могли бы задать другое имя решения и затем добавить к нему новый проект, и т.д. Однако мы сознательно выбираем самый простой сценарий. Соглашаемся также с именем пути к директории, где будут храниться наши проекты, которое среда предлагает и создает по умолчанию.

Нажимаем кнопку OK, среда сообщает нам: Creating project FirstApp - и наш первый проект создан. Среда визуализирует в области визуализации файлов созданную по шаблону заготовку кода на языке C# для основного файла проекта - Program.cs, а в области визуализации проектов (справа) появляется окно Properties с информацией о свойствах проекта, в частности, с именем конфигурационного файла проекта FirstApp.csproj (в формате XML), созданного средой в его рабочей директории. Для полноты картины вызовем также Solution Explorer, использовав пункт меню среды View / Solution Explorer. То, что мы наблюдаем на экране в итоге, изображено на рис. 5.3.

Визуализация информации о проекте после его создания

увеличить изображение
Рис. 5.3. Визуализация информации о проекте после его создания

Рассмотрим внимательнее созданный по шаблону исходный код нашего консольного приложения Program.cs. В начальных строках мы видим операторы using, подключающие необходимые пространства имен (namespaces).

System - это корневое стандартное пространство имен (аналогичное по назничению пакету java.lang в языке Java.

System.Collections.Generic - это пространство имен с определением встроенных в язык C# параметризованных коллекций, которые были в него введены в версии 2.0.

System.Linq - пространство имен для использования LINQ (Language Integrated Query) - механизма взаимодействия из кода на языке C# с базой данных, построенной по стандарту SQL, - построение SQL-запросов к базе, генерация элементов базы и т.д. Заметим, что никаких дополнительных хранимых процедур для работы с нашей базой на каком-либо отдельном экзотическом языке, как было раньше, нам не требуется. Все эти возможности встроены в сам язык C#. Функциональность LINQ была реализована в языке C# и Visual Studio.NET в 2003 г. Как представитель поколения программистов, которые начали активно заниматься разработкой программного обеспечения в середине 1970-х гг., я хорошо помню многих замечательных специалистов - и отечественных, и зарубежных, - которые десятками лет работали над проблемой взаимодействия традиционных языков и систем программирования с базами данных, помню их языки, инструменты и проекты. Их усилия и идеи не пропали даром, воплотившись в столь удобном инструменте, как LINQ.

Пространство имен System.Text предназначено для работы с текстовой информацией.

Пространство имен System.Threading обеспечивает поддержку многопоточного программирования.

Программа нашего проекта реализована как пространство имен FirstApp, в котором определен класс Program - исполняемая программа. Точкой входа в программу, аналогично языку Java, является статический метод Main, аргумент которого - массив элементов командной строки.

Дополним теперь код нашего консольного приложения, вставив оператор вывода приветственного сообщения и оператор ввода пустой строки для комфортного прочтения вывода программы. Код класса принимает вид:

namespace FirstApp
{
    class Program
    {
        static void Main(string[] args)
        {
            System.Console.WriteLine("My First Visual Studio 2013 application");
            System.Console.Write("Press <Enter> to continue: ");
            System.Console.ReadLine();
        }
    }
}
    

При вводе исходного кода обращаем внимание, насколько удобно для этого приспособлена среда. Если забыта или пока не введена точка с запятой или сделана какая-либо другая подобная синтаксическая ошибка, среда информирует об этом, подчеркивая неправильный текст красной чертой. Реализовано также выделение различными цветами фрагментов текста разной природы - ключевых слов и идентификаторв, строк и т.д. При вводе имени метода нет необходимости вводить его подностью, достаточно выбрать его из всплывающего контекстного меню, предлагаемого средой. Подобная функциональность в современных интегрированных средах носит название code completion (автоматическое завершение кода).

Сохраним теперь на всякий случай введенный код и весь проект, выбрав пункт меню File / Save All.

5.4. Компиляция (сборка) и выполнение проекта

Для сборки (компиляции) проекта (решения) выбираем пункт меню Build / Build Solution. Результат компиляции, показанный в области вывода, изображен на рис. 5.4.

Результат компиляции проекта

увеличить изображение
Рис. 5.4. Результат компиляции проекта

Для выполнения программы проекта выберем наиболее быстрый вариант - зеленую кнопку с углом вправо, расположенную под пунктом меню Debug.

Результат выполнения (до паузы в ожидании нажатия клавиши Enter) изображен на рис. 5.5.

Результат выполнения проекта

увеличить изображение
Рис. 5.5. Результат выполнения проекта
Александр Калинин
Александр Калинин

Осенью прошёл курс и получил ключ. Но т.к. уже имел действующую подписку, то ключом не воспользовался. Сейчас захожу сюда, а про DreamSpark вообще ни слова. Где же мой ключ?