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

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

Аннотация: В данной лекции рассмотрены следующие вопросы: Типы решений и проектов в Visual Studio 2013 и управление ими. Облачные проекты.

Цель лекции

Ознакомление с типами решений и проектов в Visual Studio 2013 и управлением ими; управление облачными проектами.

5.1. Введение. Решения (solutions) и проекты (projects)

Среда Visual Studio при разработке программ оперирует двумя категориями сущностей: решениями (solutions) и проектами (projects). Решение - это более крупная единица: решение может состоять из одного или нескольких проектов. Возможно также создание пустого решения, к которому постепенно добавляются все новые проекты.

Код программного проекта может иметь сложную структуру и состоять из нескольких файлов исходного кода и конфигурационных файлов. Кроме того, сам код может быть весьма специфическим: например, код Web-сервиса может иметь Web-методы, аннотированные специальными атрибутами, и т.д. В связи с этим, среда Visual Studio облегчает создание проектов с помощью шаблонов (templates). Шаблон задает типовую структуру кода проекта и его конфигурационных файлов, и разработчику остается "только" добавить в шаблон конкретный код.

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

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

Наиболее распространенный способ создания нового проекта в среде Visual Studio - выбор пунктов основного меню: File / New / Project. Открывается окно New Project ( рис. 5.1).

Окно для создания нового проекта

увеличить изображение
Рис. 5.1. Окно для создания нового проекта

Как видно из рисунка, основная содержательная часть окна (кроме, разумеется, имени нового проекта и директории для его размещения) - выбор шаблона (template) нового проекта. Содержание шаблона определяется, во-первых, языком разработки (C#, Visual Basic, Managed C++, F# и т.д.), во-вторых, видом проекта: консольное приложение, облачный сервис и т.п.

Следует отметить, что набор видов проектов является расширяемым. Расширения среды (add-ins) определяют новые разновидности проектов, специфичные для данного расширения. Например, add-in Aspect.NET Framework, с помощью которого реализован графический пользовательский интерфейс нашего проекта Aspect.NET, определяет новые виды проектов и их шаблонов: Aspect.NET ML module - код аспекта с аннотациями на метаязыке Aspect.NET.ML - и Aspect.NET module - код аспекта без ML-аннотаций, с явным использованием атрибутов АОП. Для каждого из этих видов проектов предусмотрен специфический шаблон кода.

Кроме того, не все виды проектов доступны в начальной конфигурации Visual Studio 2013, в том виде, в каком она инсталлирована на Ваш компьютер. Использование (фактически - добавление) некоторых видов проектов может потребовать дополнительных инсталляций. Прежде всего, это относится к облачным проектам для платформы Microsoft Azure. При попытке выбора и использования одного из видов проектов, отнесенных к категории Cloud (они показаны на рис. 5.1), среда сообщает, что для их использования необходимо инсталлировать Microsoft Azure SDK соответствующей версии - на момент разработки курса (июнь 2014 г.) это версия 2.3. Microsoft Azure SDK - комплекс инструментов, который необходимо дополнительно скачивать и инсталлировать (рекомендации по инсталляции приведены на страницах MSDN). Подробнее об этом - ниже, в лекциях "Архитектура, принципы и возможности облачных вычислений на платформе Microsoft Azure и ее связь с Visual Studio" и "Visual Studio Online" , посвященных облачным проектам.

В версии Visual Studio 2013 Ultimate доступны следующие виды проектов (для каждого языка разработки):

  • Windows - проекты, специфичные для Windows: Windows Forms Application (проекты, использующие GUI в стиле Windows - окна, меню и т.д.); Windows Presentation Foundation Application (проекты с в стиле WPF); Console Application (проекты, основанные на пользовательском интерфейса в виде командной строки); Class Library (библиотеки классов); Portable Class Library (переносимые библиотеки классов); WPF Browser Application (Web-приложения для браузера с интерфейсом в стиле WPF); Empty Project (пустой проект); Windows Service (сервисный процесс для Windows); WPF Custom Control Library (библиотека элементов управления); WPF User Control Library (библиотека пользовательских элементов управления); Windows Forms Control Library (библиотека элементов управления с интерфейсом в стиле Windows Forms)
  • Web - веб-сервисы, основанные на ASP.NET
  • Office / SharePoint - приложения, использующие офисные продукты Microsoft: Microsoft Office и SharePoint
  • Cloud - облачные сервисы для платформы Microsoft Azure
  • LightSwitch - проекты на основе Microsoft Silverlight
  • Reporting - проект по генерации и обработке отчетов на основе баз данных
  • Silverlight - проекты по разработке различных видов Web-приложений на основе Silverlight
  • Test - различные виды проектов по разработке и пропуску тестов, в том числе - unit-тестов, сгенерированных инструментом JUnit
  • WCF - проекты по реализации различного рода приложений и сервисов на основе Windows Communication Foundation (WCF)
  • Workflow - проекты по планированию деятельности (activity) группы разработчиков

Для языка Visual Basic набор проектов тот же самый.

Для языка Visual C++ предусмотрены лишь некоторые виды проектов "в старом стиле", отражающие специфику данного языка: например, Win32 Application - приложение, использующее Win32 API; MFC Application - приложение, использующее библиотеку Microsoft Foundation Classes и т.д.

Предусмотрены также следующие языки и виды проектов: Visual F# - функциональный язык со своим набором проектов, в том числе - консольное приложение, tutorial и Silverlight-приложение; SQL Server - проект по разработке приложения, взаимодействующего с базой данных; TypeScript - проекты на языке TypeScript (требуют отдельной инсталляции TypeScript в среде Visual Studio; Python - проекты на языке Python, широко используемом в настоящее время для Web-программирования (требуют отдельной инсталляции Python); Modeling Projects - проекты по разработке UML-моделей.

Разнообразие языков и видов проектов просто поражает. По своей сути и назначению, среда Visual Studio открыта для расширения новыми языками и видами проектов. Так что дело за Вами, уважаемые разработчики!

Александр Калинин
Александр Калинин

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

Дмитрий Кифель
Дмитрий Кифель
Казахстан, Темиртау