Можно ли создать файл проекта консольного приложения вне среды разработки приложений как

Обновлено: 02.07.2024

Завершение установки среды Visual Studio открывает возможность создания различного рода приложений. Среда Visual Studio.NET позволяет создавать программы различных типов, но в дисциплине «Программирование на языке высокого уровня» имеют значение приложения следующих трех типов:

Windows-приложения, которые используют элементы интерфейса Windows, включая формы, кнопки, флажки и пр.;

– консольные приложения, предназначенные для выполнения в командной строке и не имеющие пользовательского интерфейса;

– библиотека классов, объединяющая классы, которые могут быть использованы и в Windows-приложениях и в консольных приложениях.

Приложение в процессе разработки называется проектом. Проект объединяет все необходимое для создания приложения: файлы, папки, ссылки и прочие ре­сурсы.

Несколько проектов можно объединить в решение (solution). Это облегчает со­вместную разработку проектов.

3.2.1 Консольные приложения

Среда Visual Studio.NET работает на платформе Windows и ориентирована на соз­дание Windows- и веб-приложений, однако разработчики предусмотрели работу и с консольными приложениями. При запуске консольного приложения операци­онная система создает так называемое консольное окно, через которое идет весь ввод-вывод программы. Внешне это напоминает работу в операционной системе в режиме командной строки, когда ввод-вывод представляет собой поток символов.

3.2.1.1 Создание проекта. Основные окна среды

Начальная страница. Результатом запуска Visual Studio.NET является появление на экране окна, вид которого показан на рисунке 3.1.

Почти весь экран занимает диалоговое окно Начальная страница. В левой ее части расположены кнопки, которые можно использовать для вызова уже созданного проекта (Открыть проект) и создания нового проекта (Создать проект).


Рисунок 3.1 – Вид экрана после запуска Visual Studio.NET

3.2.1.2 Создание проекта

При выборе режима Создать проект, открывается окно (рис. 3.2), информация которого разбита на три части:

В левой части представлены установленные шаблоны:


Рисунок 3.2 – Установленные шаблоны


Рисунок 3.3 – Список «Другие языки»


Рисунок 3.4 – Окно «Типы приложений»

Альтернативный способ создание проекта предусмотрен в главном меню, где нужно выбрать команду Файл>Создать>Проект.

3.2.1.3 Выбор типа приложения

Как уже стало понятно, средняя часть экрана Начальная страница предназначена для выбора требуемого типа приложения. Щелкнем мышкой Консольное приложение, в правой части окна появится комментарий к данному выбору.

После всех указанных установок необходимо нажать кнопку ОК. После чего среда создаст решение и проект с име­нем ConsoleApplication1. Примерный вид экрана приведен на рисунке 3.5.


Рисунок 3.5 – Вид экрана создания консольного приложения

Главное меню, которое хорошо видно на рисунке 3.1, позволяет разработчику воспользоваться различными возможностями управления проектом, решением, получить полную информацию о ресурсах, сборке, классах, входящих в приложение, их элементов, предков, ссылках на библиотеку и многое другое.

С помощью проводника Windows можно увидеть, что на заданном диске появилась папка с указанным именем, содержащая несколько других файлов и вло­женных папок. Среди них – файл проекта (с расширением csproj), файл решения (с расширением sln) и файл с программным кодом (Program .cs).

Нажатием клавиши F4 или выбором из главного меню Вид > Окно свойств (Properties) можно вызвать (рис. 3.6) в нижней правой части экрана соответствующее окно. В окне свойств отображаются важнейшие характеристики выделенного элемента. Например, чтобы изменить имя файла, надо выделить этот файл в окне управления проектом и задать в окне свойств новое значение свой­ства FileName (ввод заканчивается нажатием клавиши Enter).


Рисунок 3.6 – Окно «Свойства»

Все операции для работы с проектом сконцентрированы в главном меню Проект (рис. 3.7). Для некоторых из них зарезервированы «горячие» клавиши. При создании решения автоматически присваивается одно и то же имя и проекту, и решению, что не всегда удобно.


Рисунок 3.7 – Главное меню «Проект»

Для того чтобы присвоить решению новое имя, необходимо выполнить следующие действия:

– в обозревателе решений (Solution Explorer) щелкнуть правой кнопкой мыши по имени решения и в открывшемся контекстном меню выбрать пункт Переименовать (Rename);

– изменить имя на новое;

– нажать клавишу Enter, чтобы принять изменение.

Таким же образом можно переименовать проекты или любой другой элемент решения. Основное пространство экрана (рис. 3.5) занимает окно редактора, в котором располагает­ся текст программы, созданный средой автоматически. Текст представляет собой каркас или шаблон, в который программист добавляет код по мере необходимости.

Листинг 1 – Заготовка консольной программы


Текст программы в окне и, в частности, высветившийся шаблон программы не является монохромным. Среда позволяет по цвету распознать назначение элемента программы, что очень помогает в процессе ее отладки. Например, слова, имеющие специальное значение для компилятора, которые мож­но использовать только в том смысле, в котором они определены – это ключевые (зарезервированные) слова, отображаются синим цветом, коммента­рии различных типов – серым и тёмно-зелёным, остальной текст – черным.

Слева от текста находятся квадратики с минусом: щелкнув на любом из них, можно скрыть соответствующий блок кода. При этом минус превра­щается в плюс, щелкнув на котором, можно опять вывести блок на экран. Это средство хорошо визуально структурирует код и позволяет сфокусировать вни­мание на нужных фрагментах.

3.2.1.4 Шаблон консольной программы

Рассмотрим каждую строку шаблона программы, ее основные элементы (листинг 1).

Директива using System разрешает использовать имена стандартных классов из пространства имен System непосредственно (без указания имени пространства). Далее следуют еще три директивы, предлагающие дополнительные возможности языка. Поскольку они не будут востребованы в ближайших примерах, для последующего изложения их можно не только не рассматривать, но и удалить.

Ключевое слово namespace создает для проекта собственное пространство имен, названное по умолчанию ConsoleApplication1. Это сделано для того, чтобы можно было давать программным объектам имена, не заботясь о том, что они могут сов­пасть с именами в других пространствах имен. Пользователь может изменить название пространства имен по своему усмотрению.

Фигурные скобки являются важным элементом синтаксиса. Каждой открывающей скобке соответствует своя закрывающая, которая обычно располагается ниже по тексту с тем же отступом. Эти скобки ограничивают блок, внутри которого могут располагаться вложенные в него другие блоки. Блок может приме­няться в любом месте, где допускается отдельный оператор.

Строки, начинающиеся с двух или трех косых черт, являются комментариями и предназначены для документирования текста программы.

В данном случае внутри класса только один элемент – метод Main. Каждое при­ложение должно содержать метод Main – с него начинается выполнение програм­мы. Все методы описываются по единым правилам. Эти правила подробно будут рассмотрены значительно позже. В данный момент необходимо уяснить, что любой метод должен иметь тип, имя и тело, остальные части описания являются необязательными.

Пусть метод Main в нашей первой программе содержит только одну строку Console.WriteLine( "Начало работы" ).

Здесь Console – это имя стандартного класса из пространства имен System, который содержит используемый нами метод WriteLine – вывод на экран заданного в кавычках текста. Для обращения к методу класса используется конструкция имя_класса.имя_метода.

При правильном наборе с клавиату­ры слова Console и символа точки среда выведет подсказку, содержа­щую список всех доступных элементов класса Console. Выбор нужного имени выполняется с помощью мыши, либо клавишами управления курсором. При нажатии клавиши Enter, либо двойного щелчка мышью выбранное имя появляется в тексте программы.

Автоматический ввод увеличивает скорость и правильность набора программы. Однако если подсказка не появляется, то возможно совершена ошибка в наборе имени или в месте расположения в программе вводимого текста.

Необходимо обратить внимание на то, что после внесения изменений около имени файла на ярлычке в верхней части окна редактора появился символ «*» – это означает, что текст, сохраненный на диске, и текст, представленный в окне редактора, не совпадают. Для сохранения файла воспользуйтесь командой File > Save главного меню или кнопкой Save на панели инструментов (текстовый курсор должен при этом находиться в окне редактора). Впрочем, при запуске программы среда со­хранит исходный текст самостоятельно.


Рисунок 3.8 – Вид экрана после создания проекта консольного приложения

После запуска такой программы на экране появится консольное окно со следующей информацией:


3.2.1.5 Запуск программы

Самый простой способ запустить программу – нажать клавишу F5 (или выбрать в меню команду Отладка>Начать отладку (Debug >Start)). Если программа написана без ошибок, то результат промелькнет в кон­сольном окне, после чего оно закроется. Если же воспользоваться клавишами Ctrl+F5 (или выбрать в меню команду Отладка >Запуск без отладки (Debug > Start Without Debugging) (рис. 3.9), то консольное окно будет находиться в открытом состоянии до тех пор, пока не будет нажата любая клавиша.


Рисунок 3.9 – Меню «Отладка»

После внесения изменений компилятор может обнаружить в тексте программы синтаксические ошибки. Он сообщает об этом в окне, расположенном в нижней части экрана.


Закроем окно, набрав Нет.


Рисунок 3.11 – Окно «Список ошибок»

Если ошибок несколько, то с каждой из них предстоит разбираться постепенно. Хотя даже небольшой опыт, позволяет подчас понять смысл некоторых допущенных ошибок при первом же просмотре их списка. Дополнительные справочные пояснения можно получить, нажав кла­вишу F1.

Запускаем visual studio. Создаем новый проект:



вводим имя приложения FirstApp, остальное в этот раз можно не трогать, жмем Ok.

Откроется код приложения. Так как у нас приложение пока самое простое, оно состоит из одного файла:


Разбор кода

Тут может встретиться куча странных и непонятных слов, в принципе этот раздел можно пропустить.

Добавляем вывод в консоль

Запустим программу, нажав кнопку пуск


Затем откроется окно консоли и тут же закроется. Это, между прочим, была наша программа в действии.

Открывается и закрывается окно потому, что наше приложение пока еще ничего не умеет.

Давайте выведем чего-нибудь в консоль. Для этого воспользуемся классом Console, которые находится в пакете System (именно для этого и нужна строчка using System), и так:

запускаем приложение, либо кликая на кнопку Пуск либо нажав F5.

Снова что-то проскакивает, но уже с нашим текстом, но все равно быстро закрывается.

Надо как-нибудь остановить процесс мгновенного закрытия программы. Для этого заставим программу ждать нажатия любой клавиши от пользователя, правим приложение:

Отлично! Теперь программа напечатал текст, и остановилась – ждет пока пользователь чего-нибудь нажмет.


Жмем любую клавишу, и программа тут же закрывается.

Исполняемый файл приложения

Итогом компиляции приложения является *.exe файл, именно этот файл запускается, когда нажимаешь кнопку пуск. Точнее, сначала этот файл создается, а потом уже запускается. Сам файл лежит по пути, который был указан при создании проекта.

В моем случае я указал имя приложения FirstApp, а путь к проекту C:\Users\m\source\repos . Таким образом exe файл находится в папке c:\Users\m\source\repos\FirstApp\FirstApp\bin\Debug\


Вы можете запустить приложение FirstApp и убедится, что он действительно является вашей программой.

Создание проекта Visual Studio


Для создания нового консольного приложения запускаем Microsoft Visual Studio 2010 Express и переходим в меню Файл->Создать->Проект

В появившемся окне выбираем Консольное приложение Win32 и задаем имя проекта и нажимаем кнопку OK.

В появившемся окне нажимаем кнопку Далее.

В следующем окне отмечаем галочку Дополнительные параметры: Пустой проект и нажимаем кнопку Далее.

В левой части появившегося окна отображается Обозреватель решений. Для добавления нового файла программы в проект выбираем по правой кнопке мыши на папке Файлы исходного кода меню Добавить->Создать элемент.

Создание элемента проекта


В появившемся окне выбираем Файл C++ (.cpp), задаем имя файла и нажимаем кнопку Добавить.

Пример программы


Для компиляции программы выбираем меню Отладка->Построить решение.

Построение решения


В случае успешного построения в нижней части окна отображается Построение: успешно 1.

Построение успешно


Для запуска приложения выбираем меню Отладка->Начать отладку.


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

Свойства проекта

Для корректного отображения русских символов в левом верхнем углу консоли по нажатию правой кнопки мыши выбираем меню Свойства.

В появившемся окне выбрать шрифт, поддерживающий русскую кодировку для кодовой страницы 1251, например Lucida Console.


В результате получаем читаемый русский шрифт.

При желании можно изменить другие параметры окна консоли.

MonoDevelop: Главное окно

Итак, создадим новый проект. Это можно сделать либо кликнув по ссылке “Start a New Project” в окне приветствия, либо в меню “Файл” -> “Новый проект”. По умолчанию выбран “Консольный проект”. Так как это наше первое приложение - его и выбираем. В качестве названия я ввел “hello”, название решения выставилось автоматически.

MonoDevelop: Создание проекта

После этого появится диалог “Project Features”. Пока там можно ничего не выбирать (ну, или “Unix integration” наконец :) ). Кликаем “ОК” - и код минимального приложения создан:

MonoDevelop: Минимальное приложение

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

Ещё одной приятной фишкой среды было автодополнение функций. При введении символа “.”(точка) после объекта какого-нибудь класса во всплывающем окошке отображаются все методы и свойства этого класса, будь то встроенный или только что написанный класс. Причём, можно использовать клавиши стрелок для навигации по этому списку и по каждой функции будет отображено краткое описание (если таковое имеется). Также можно продолжать вводить имя нужной функции с клавиатуры - тогда поиск в окне-подсказке будет совершён автоматически:

MonoDevelop: Вывод подсказки

В целом эта IDE оставляет приятные ощущения. И это не смотря на очень раннюю версию (0.15). Уже виднеются кроссплатформенные конкуренты Visual Studio от MS! :) Но некоторые жизненно важные возможности пока не реализованы. Например, отладка. Если нужно написать небольшое приложение - то можно его написать и без отладки. Но писать серьёзные коммерческие приложения в этой среде пока будет трудновато. Остаётся лишь надеяться, что разработчики не заставят нас долго ждать и уже в ближайших версиях пошаговая отладка появится.

Теперь запустим нашу программу. Если сделать это при помощи кнопки “Запустить” (F5), то программа обругает нас, мол “Unhandled Exception: System.ArgumentNullException: Argument cannot be null…” Это происходит потому, что в поле “Возраст” мы должны были ввести число, а программа автоматически подставила значение null.

Чтоб ощутить, что мы написали реально рабочее приложение запустим его вручную. Для этого нужно перейти в каталог проекта. Потом в нем в каталог ./bin/Debug/. И в этом каталоге уже будет лежать наше готовое кроссплатформенное приложение. Можем запустить его при помощи mono и посмотреть результат:

Читайте также: