Обозреватель решений visual studio ссылки
Презентацию к данной лекции Вы можете скачать здесь.
5.1. Проекты и решения в Visual Studio
Компилятор — это программа , которая преобразует высокоуровневые инструкции, создаваемые программистом, в инструкции более низкого уровня для выполнения на компьютере. В среде Microsoft . NET компилятор выдает код на промежуточном языке ( MSIL ), который при запуске программы компилируется в машинный код.
Эта команда скомпилирует файл MyProg.cs и создаст файл с именем MyProg.exe. Компилятор командной строки также доступен после установки Visual Studio .
Windows Phone SDK установит сразу все необходимые инструменты для создания приложений для Windows Phone : интерактивную среду разработки, эмулятор Windows Phone и другие инструменты. Инструменты также можно использовать для создания настольных приложений и игр XNA для компьютеров под управлением Windows и Xbox 360. Если в вашем компьютере установлена другая версия Visual Studio 2010, после установки Windows Phone SDK в нее будут добавлены новые типы проектов и инструменты.
Visual Studio . Visual Studio предоставляет единую среду для создания, редактирования и запуска программ. Она управляет проектами и решениями, которые объединяют все файлы программы, и позволяет управлять их содержимым. Также среда предоставляет инструменты для отладки программ. Visual Studio используется для создания приложений для компьютеров так же, как и для устройств Windows Phone .
После установки Windows Phone SDK значок Microsoft Visual Studio 2010 появится в списке программ.
Среда Visual Studio содержит большое количество кнопок, меню и инструментов, с которыми можно работать. Информацию об их назначении можно получить в справочной системе.
В рамках Visual Studio рассматриваются термины проект и решение . Они используются для организации создаваемых программ и систем. Visual Studio не может запустить любой код программы , который не входит в состав проекта или решения . Для начала можно использовать один из встроенных шаблонов для разных типов проектов.
Простой проект Visual Studio
Проект является контейнером для набора программных файлов и ресурсов , которые создают файл сборки. Самый простой проект содержит единственный файл программы. Можно создать проект , выбрав в главном меню Файл -> Создать проект …. Откроется диалоговое окно Создать проект (рис. 5.1).
Если выбрать шаблон Консольное приложение, Visual Studio создаст минимальный проект , который содержит единственный файл программы с именем Program.cs. Этот файл содержит примерно такой код:
Созданный файл Library.cs теперь является частью проекта , и при построении проекта Visual Studio скомпилирует этот файл вместе с файлом Program.cs. Однако, в результате будет создан единственный исполняемый файл с именем Program.exe. Поэтому только в одном из этих файлов может быть метод Main, иначе компилятор не сможет определить, какой из этих классов должен начать работу. Класс Library изначально будет пустым:
Можно создать экземпляры этого класса в методе Main:
Пространства имен и проекты. Классы Library и Program находятся в пространстве имен SimpleProject. Часто бывает удобно помещать различные части системы в отдельные пространства имен . Это особенно важно, если программы создают разные люди. Если программист, который пишет код библиотеки, решает, что имя Save подходит для создаваемого им метода, другой программист, который работает над другим модулем той же самой программы, также может использовать имя Save и для своего метода.
Пространства имен является логическим способом группирования элементов. У них нет никакой привязки к физическому расположению кода. Можно поместить класс библиотеки в отдельное пространство имен просто, просто изменив его имя:
Класс Library теперь находится в пространстве имен SimpleLibrary. Но попытка собрать проект приведет к возникновению ошибок (рис. 5.2).
увеличить изображение
Рис. 5.2. Окно с информацией об ошибках компиляции программы
Метод Main класса Program пытается создать экземпляр класса Library. Этот класс больше не находится в пространстве имен SimpleProject, и таким образом, возникают ошибки. К счастью, поле Описание списка ошибок подсказывает, что возможно пропущена директива using. Можно решить проблему, добавив директиву using, чтобы указать компилятору на необходимость просмотра пространства имен SimpleLibrary, если нужно найти класс:
Другой способ решения проблемы — использовать полностью определенные имена для получения доступа к ресурсам библиотеки:
Необходимо помнить о том, что мы просто создаем имена элементов в проекте , но не определяем, где они сохраняются. При построении проекта Visual Studio будет просматривать все исходные файлы проекта для поиска необходимых элементов.
Добавление ресурсов в проект
Если программа должна использовать ресурсы (например, изображение для заставки программы), их также нужно добавить в проект . Можно добавить растровое изображение таким же образом, как и новый класс. После добавления изображения оно появится в обозревателе решений (рис. 5.3).
Рис. 5.3. Список файлов проекта в обозревателе решений
Теперь решение содержит файл растрового изображения с именем Bitmap1.bmp. Можно выбрать способ управления этим содержимым в Visual Studio, изменив свойства этого объекта.
Свойства ресурсов . Как и у всех объектов, которыми управляет Visual Studio, у ресурсов проекта тоже есть свойства. Можно работать с свойствами ресурсов так же, как и со свойствами других объектов, — используя область свойств (рис. 5.4).
Представленные на рисунке настройки указывают Visual Studio при построении проекта скопировать изображение в тот же каталог, в котором создается файл с программой. В этом случае программа сможет открыть этот файл и использовать его при выполнении программы:
Этот код загрузит растровое изображение в переменную b класса Bitmap. Таким образом, можно легко добавлять в проект ресурсы .
Внедрение ресурсов в приложение. В предыдущем примере настройки указывают, чтобы рисунок был сохранен в том же каталоге, что и программа. Этот подход предполагает, что при установке программы файлы с изображениями будут скопированы в папку с исполняемым файлом программы.
Вместо этого можно встроить этот ресурс прямо в файл программы при ее построении. Когда программа будет создана, ее исполняемый файл будет содержать изображение. Это можно сделать, изменив свойства ресурса (рис. 5.5).
Рис. 5.5. Свойства изображения, внедряемого в исполняемый файл
Свойству Действие при построении файла Bitmap2.bmp присвоено значение Внедренный ресурс. Теперь изображение сохраняется внутри файла программы. Использовать этот ресурс немного сложнее, но будет гарантировано работать независимо от того, где программа установлена, поскольку при этом не используются дополнительные файлы:
Этот код загрузит изображение из встроенного ресурса и сохранит его в переменной b. Обратите внимание, что при получении ресурса из сборки кроме имени ресурса нужно также указать ее пространство имен .
Файлы сборки и исполняемые файлы
Сборки библиотек. Существуют два вида сборок — исполняемые файлы и библиотеки. При создании нового проекта можно выбрать шаблон для создания библиотеки. В этом случае будет создан новый проект , который будет содержать только классы библиотеки, т.е. никакой класс в сборке не будет содержать метод Main. Сборка библиотеки компилируется в файл с расширением .dll, что расшифровывается как динамически подключаемая библиотека . Классы библиотеки загружаются в памяти динамически во время работы программы.
Когда программа ссылается на метод класса библиотеке, этот класс будет загружен в память, и JIT-компилятор преобразует метод в машинный код, который сможет выполняться. Если класс вообще не используется, он не загружается в память. Использование динамических библиотек позволяет сохранить память за счет небольшой дополнительной работы при выполнении программы.
Динамические библиотеки можно использовать в других программах без необходимости использования исходного кода этих библиотек.
Рис. 5.6. Список ссылок проекта в обозревателе решений
Раздел Ссылки проекта содержит список всех ресурсов , которые использует приложение. При создании проекта определенного типа Visual Studio добавляет ссылки на ресурсы , которые требуются для построения проекта . Этим списком можно управлять самостоятельно. Например, для использования акселерометра в приложении для Windows Phone необходимо добавить ссылку на пространство имен Microsoft.Devices.Sensors.
Отметим, что при добавлении ссылки на ресурс он не обязательно станет частью проекта — сборка должна иметь возможность использовать этот ресурсу при работе. Если ресурс не будет доступен во время выполнения, то произойдет аварийное завершение работы программы. Ресурсы имеют номер версии. Если в систему будет добавлена новая версия библиотеки, любые более старые программы смогут использовать предыдущую версию.
Диалоговое окно "Диспетчер ссылок"
В левой части диалогового окна "Диспетчер ссылок" отображаются различные категории в зависимости от типа проекта:
Сборки с подгруппами Платформа и Расширения.
COM содержит список всех COM-компонентов, ссылки на которые можно добавить.
Проекты
Общие проекты
Windows с подгруппами Ядро и Расширения. Для просмотра ссылок в Windows SDK и пакетах SDK расширений можно использовать Обозреватель объектов.
Обзор с подгруппой последних ссылок.
При разработке проектов С++ элемент Обзор может не отображаться в диалоговом окне "Диспетчер ссылок".
Добавление ссылки
В обозревателе решений щелкните правой кнопкой мыши узел Ссылки или Зависимости и выберите команду Добавить ссылку. Вы также можете щелкнуть узел проекта правой кнопкой мыши и выбрать пункт Добавить > Ссылка.
Будет открыт Диспетчер ссылок со списком доступных ссылок по группам.
Укажите ссылки, которые требуется добавить, а затем нажмите кнопку ОК.
В обозревателе решений щелкните правой кнопкой мыши узел Ссылки или Зависимости, после чего выберите Добавить ссылку на проект или Добавить общую ссылку на проект, или Добавить ссылку COM. (Можно щелкнуть правой кнопкой мыши узел проекта и выбрать пункт Добавить из всплывающего меню, чтобы выбрать эти параметры.)
Будет открыт Диспетчер ссылок со списком доступных ссылок по группам.
Укажите ссылки, которые требуется добавить, а затем нажмите кнопку ОК.
Вкладка "Сборки"
При добавлении вручную ссылки на любое из пространств имен EnvDTE (EnvDTE, EnvDTE80, EnvDTE90, EnvDTE90a или EnvDTE100) установите в окне Свойства для свойства ссылки Внедрить типы взаимодействия значение False. Задание для этого свойства значения True может привести к проблемам сборки, так как некоторые свойства EnvDTE не допускают внедрения.
Все проекты классических приложений содержат неявную ссылку на библиотеку mscorlib. Проекты Visual Basic содержат неявную ссылку на Microsoft.VisualBasic. Все проекты содержат неявную ссылку на System.Core, даже если она была удалена из списка ссылок.
Если тип проекта не поддерживает сборки, эта вкладка не отображается в диалоговом окне "Диспетчер ссылок".
Вкладка Сборки состоит из двух подразделов.
В разделе Платформа перечислены все сборки, из которых состоит целевая платформа.
- HKEY_CURRENT_USER\SOFTWARE\Microsoft\[Target Framework Identifier]\v[Target Framework Version]\AssemblyFoldersEx\[UserComponentName]\@default=[Disk location of assemblies]
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\[Target Framework Identifier]\v[Target Framework Version]\AssemblyFoldersEx\[UserComponentName]\@default=[Disk location of assemblies]
- HKEY_CURRENT_USER\SOFTWARE\Wow6432Node\Microsoft\[Target Framework Identifier]\v[Target Framework Version]\AssemblyFoldersEx\[UserComponentName]\@default=[Disk location of assemblies]
- HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\[Target Framework Identifier]\v[Target Framework Version]\AssemblyFoldersEx\[UserComponentName]\@default=[Disk location of assemblies]
Некоторые компоненты в списке могут не отображаться в зависимости от версии платформы проекта. Это может произойти в следующих случаях.
Компонент, использующий новую версию платформы, не совместим с проектом, нацеленным на более раннюю версию платформы.
Сведения об изменении целевой версии платформы для проекта см. в статье Общие сведения о настройке для платформы.
Не следует добавлять ссылки на выходные файлы другого проекта того же решения, поскольку это может привести к ошибкам компиляции. Вместо этого следует создавать ссылки между проектами, используя вкладку Проекты диалогового окна Добавление ссылки. Это позволит упростить коллективную разработку за счет более эффективного управления библиотеками классов, создаваемыми в проектах. Дополнительные сведения см. в статье Устранение неполадок неработающих ссылок.
Чтобы отобразить сборку в диалоговом окне "Добавление ссылки"
Переместите или скопируйте сборку в одно из следующих расположений.
Каталог текущего проекта. (Можно найти эти сборки, используя вкладку Обзор .)
Другие каталоги проектов в одном решении. (Можно найти эти сборки, используя вкладку Проекты.)
Установите раздел реестра, определяющий положение отображаемых сборок.
Для 32-разрядной операционной системы добавьте один из следующих разделов реестра.
Для 64-разрядной операционной системы добавьте один из следующих разделов реестра в 32-разрядный куст реестра.
<AssemblyLocation> является каталогом сборок, которые требуется отображать в диалоговом окне Добавить ссылку, например C:\MyAssemblies.
Создание раздела реестра в узле HKEY_LOCAL_MACHINE позволяет всем пользователям видеть сборки в указанном расположении в диалоговом окне Добавить ссылку. Создание раздела реестра в узле HKEY_CURRENT_USER влияет только на настройки для текущего пользователя.
Вкладка "Проекты"
На вкладке Проекты указываются все совместимые проекты в текущем решении (в подразделе Решение).
Вкладка "Общие проекты"
Добавьте ссылку на общий проект на вкладке Общие проекты диалогового окна "Диспетчер ссылок". Общие проекты позволяют писать общий код, на который ссылается несколько различных проектов приложений.
Вкладка "Универсальная платформа Windows"
Вкладка Универсальная платформа Windows содержит список всех пакетов SDK, относящихся к платформам, на которых работают операционные системы Windows. Эта вкладка имеет две подгруппы: Ядро и Расширения.
Подгруппа "Ядро"
Проекты универсального приложения для Windows по умолчанию имеют ссылку на пакет SDK универсальной платформы Windows. Соответственно, в подгруппе Ядро в диспетчере ссылок не перечисляются никакие сборки из пакета SDK универсальной платформы Windows.
Подгруппа "Расширения"
В разделе Расширения перечислены пользовательские пакеты SDK, расширяющие целевую платформу Windows.
Пакет SDK — это коллекция файлов, которая обрабатывается Visual Studio как единый компонент. На вкладке Расширения пакеты SDK, относящиеся к проекту, из которого было открыто диалоговое окно "Диспетчер ссылок", указываются как отдельные записи. При добавлении в проект все содержимое SDK используется Visual Studio таким образом, что пользователю не нужно принимать никаких дополнительных мер для добавления содержимого SDK в IntelliSense, на панель элементов, в конструкторы, обозреватель объектов, средства сборки, развертывания, отладки и упаковки.
Сведения об отображении SDK на вкладке Расширения см. в статье Создание средств разработки программного обеспечения.
Если проект ссылается на пакет SDK, зависящий от другого пакета SDK, Visual Studio не будет использовать второй пакет SDK, пока вы вручную не зададите ссылку на него. Когда пользователь выбирает пакет SDK на вкладке Расширения, открывается диалоговое окно "Диспетчер ссылок", которое помогает определить зависимости SDK, перечислив их в области сведений.
Если тип проекта не поддерживает расширения, эта вкладка не отображается в диалоговом окне "Диспетчер ссылок".
Вкладка COM
Если тип проекта не поддерживает COM, эта вкладка не отображается в диалоговом окне "Диспетчер ссылок".
Обзор
Кнопка Обзор позволяет осуществлять поиск компонента в файловой системе.
Не следует добавлять ссылки на выходные файлы другого проекта того же решения, поскольку это может привести к ошибкам компиляции. Вместо этого следует создавать ссылки между проектами, используя вкладку Решение диалогового окна "Диспетчер ссылок". Это позволит упростить коллективную разработку за счет более эффективного управления библиотеками классов, создаваемыми в проектах. Дополнительные сведения см. в статье Устранение неполадок неработающих ссылок.
Невозможно добавить SDK в проект с помощью кнопки "Обзор". С помощью кнопки "Обзор" можно добавить в проект только файл (например, сборку или файл WinMD).
При указании ссылки на файл WinMD предполагается, что файлы <FileName>.winmd, <FileName>.dll и <FileName>.pri находятся рядом. При указании ссылки на файл WinMD в следующих сценариях неполный набор файлов копируется в выходной каталог проекта и, следовательно, происходят сбои сборки и выполнения.
Компонент на базе машинного кода. Проект на базе машинного кода создает по одному файлу WinMD для каждого не связанного с другими набора пространств имен и по одному файлу DLL с реализацией. Файлы WinMD будут иметь разнородные имена. При указании ссылки на такой файл компонента на базе машинного кода MSBuild не определит, что файлы WinMD с разнородными именами относятся к одному компоненту. Следовательно, будут скопированы только файлы <FileName>.dll и <FileName>.winmd с одинаковыми именами, и возникнет ошибка времени выполнения. Чтобы обойти эту проблему, нужно создать пакет SDK расширения. Дополнительные сведения см. в статье Создание средств разработки программного обеспечения.
Использование элементов управления. Элемент управления XAML состоит по крайней мере из следующих файлов: <FileName>.winmd, <FileName>.dll, <FileName>.pri, <XamlName>.xaml и <ImageName>.jpg. Когда проект будет собран, файлы ресурсов, связанные со ссылкой на файл, не будут скопированы в выходной каталог проекта, а будут скопированы только файлы <FileName>.winmd, <FileName>.dll и <FileName>.pri. При этом в журнал будет занесена ошибка сборки, указывающая пользователю на отсутствующие ресурсы <XamlName>.xaml и <ImageName>.jpg. Чтобы сборка прошла успешно, пользователь должен вручную скопировать эти файлы ресурсов в выходную папку проекта для сборки и отладки (выполнения). Для решения этой проблемы создайте пакет SDK расширения, следуя инструкциям в статье Создание средств разработки программного обеспечения, или измените файл проекта, добавив в него следующее свойство:
При добавлении этого свойства сборка может выполняться медленнее.
Последние
Элементы Сборки, COM, Windows и Обзор поддерживают вкладку Последние, содержащую список компонентов, которые были недавно добавлены в проекты.
Поиск
Панель поиска в диалоговом окне "Диспетчер ссылок" работает с текущей активной вкладкой. Например, если пользователь вводит в области поиска запрос "System", когда открыта вкладка Решение, поиск не вернет результаты, если решение не содержит проекта, в имени которого есть слово "System".
Ранее вы кратко ознакомились с множеством компонентов, образующих среду интегрированной разработки Visual Studio 2013. Теперь вы получите возможность поработать с тремя наиболее широко используемыми инструментальными окнами - Solution Explorer, Toolbox и Properties.
Создавая или открывая приложение или просто отдельный файл, система Visual Studio 2013 использует концепцию решения (solution) для связывания всех компонентов в единое целое. Как правило, решение состоит из одного или нескольких проектов, каждый из которых, в свою очередь, содержит множество элементов, связанных с ним. В прошлом такими элементами были обычные файлы, но в настоящее время все чаще проекты создаются из элементов, которые образованы из нескольких файлов или вообще не включают в себя ни одного файла.
С каждым проектом связана отдельная пиктограмма, которая, как правило, указывает тип проекта и язык, на котором он написан. У этого правила есть несколько исключений, например, проекты установки (setup projects) не имеют языка программирования, на котором они создаются.
Один из узлов обращает на себя особое внимание, поскольку он выделен полужирным шрифтом. Это значит, что этот проект является стартовым, иначе говоря, проектом, который запускается, когда вы выполняете команду Debug --> Start Debugging или нажимаете клавишу F5 . Для того чтобы сделать проект стартовым, щелкните на соответствующей пиктограмме правой кнопкой мыши и выполните команду Set as StartUp Project. Стартовыми можно сделать сразу несколько проектов. Для этого следует использовать диалоговое окно Solution Properties, которое открывается, когда вы щелкаете правой кнопкой мыши на узле Solution и выбираете пункт Properties.
Панель инструментов в верхней части окна Solution Explorer позволяет настроить внешний вид этого окна, а также задать комбинации клавиш для разного внешнего вида отдельных элементов. Например, кнопка Show All Files - открывает листинг решения и позволяет показать на экране дополнительные файлы и папки:
Вы видите, что узел Reference Library на самом деле состоит из нескольких файлов, содержащих настройки, ресурсы и информацию о сборке.
В этом развернутом представлении можно увидеть все файлы и папки, относящиеся к структуре проекта. К сожалению, при изменении файловой системы окно Solution Explorer не обновляется автоматически, чтобы отразить эти изменения. Для того чтобы обеспечить правильное представление списка файлов и папок, можно использовать кнопку Refresh.
Инструментальная панель Solution Explorer чувствительна к контексту, поэтому в зависимости от выбранного типа узла на ней отображаются разные кнопки.
Предпросмотр файлов
Одной из наиболее интересных особенностей Visual Studio 2013 является возможность предварительного просмотра файла в обозревателе решений. Для этого необходимо нажать кнопку "Preview Selected Items" и выбрать файл в окне Solution Explorer. На вкладке обзора появится файл и его содержимое:
Вы можете свободно перемещаться по файлу и редактировать его, как и любой другой файл. Тем не менее, при переходе к другому файлу в Solution Explorer, вкладка Preview заменяется новым файлом. Другими словами, режим предпросмотра служит для быстрого открытия и перемещения по файлам вашего проекта.
Типичные задачи
Кроме удобного способа управления проектами и элементами, окно Solution Explorer содержит динамическое контекстное меню, предоставляющее быстрое выполнение наиболее типичных задач, таких как сборка решений или отдельных проектов, обращение к менеджеру конфигурации сборки и открытие файлов. На рисунках ниже продемонстрировано, как изменяется контекстное меню в зависимости от того, какой элемент был выбран в окне Solution Explorer:
Если вы еще не включили в свой проект диаграмму классов, щелкните на кнопке View Class Diagram. После этого система автоматически добавит в ваш проект эту диаграмму и все классы. Если проект содержит много классов, то эта процедура может занять довольно много времени и в результате возникнет большая и неудобная диаграмма классов. Намного лучше добавлять диаграммы классов вручную, поскольку в таком случае пользователь сохраняет над ними полный контроль.
Первые пункты в левом и среднем меню связаны с созданием либо всего решения, либо выбранного проекта. В большинстве случаев эффективнее всего выполнить команду Build, поскольку она создает лишь те проекты, которые подверглись изменениям. Однако в некоторых случаях пользователю необходимо выполнить команду Rebuild, которая создает все взаимосвязанные проекты независимо от их состояния. Если вы хотите всего лишь удалить все дополнительные файлы, возникшие в процессе создания решения, то можете выполнить команду Clean. Эта команда может оказаться полезной, если вы хотите упаковать свое решение и послать его кому-нибудь в виде электронного письма и не хотите, чтобы при этом в него попали все временные файлы или файлы вывода, возникшие при создании решения.
Для большинства элементов в окне Solution Explorer первая команда контекстного меню похожа на команду, показанную на рисунке выше: по умолчанию команды Open и Open With. позволяют указать, как будет открыт конкретный элемент. Это особенно полезно при работе с ресурсными XML-файлами. Система Visual Studio 2013 открывает эти файлы, используя встроенный редактор ресурсов, но это не позволяет вам вносить определенные изменения и поддерживать все типы данных, которые вы хотели бы включить в проект (позже будет показано, как можно использовать свои собственные типы данных в файлах ресурсов). Используя команду Open With. можно вызвать редактор XML Editor.
Контекстные меню для узлов Solution, Project и Folder содержат команду Open Folder in Windows Explorer, что позволяет быстро открыть окно проводника Windows для поиска выбранного элемента и не искать в каталогах свое решение.
Добавление проектов и элементов
К основным действиям, выполняемым в окне Solution Explorer, относятся добавление, удаление и переименование проектов и элементов. Для того чтобы добавить новый проект в существующее решение, следует выполнить команду Add --> New Project в контекстном меню, связанном с узлом Solution. В этом случае откроется диалоговое окно, показанное на рисунке ниже, которое с небольшими изменениями унаследовано от предыдущей версии системы Visual Studio. Теперь шаблоны проектов можно сортировать и искать.
Панель, показанная на рисунке, справа, содержит информацию о выбранном проекте, например его тип и описание. В иерархии Installed, появляющейся в левой части диалогового окна Add New Project, шаблоны в первую очередь упорядочены по языкам, а затем по технологиям. Среди шаблонов прежде всего следует выделить типы Office, позволяющие создавать как приложение, так и надстройки для документов, как это принято в большинстве приложений подобного рода. Хотя надстройки Office по-прежнему используют набор инструментов Visual Studio Tools for Office (VSTO), теперь он встроен в систему Visual Studio и не требует отдельной инсталляции.
Предусмотрены также закладки Recent и Online. Шаблоны Online можно сортировать и искать точно так же, как Installed, хотя критерии сортировки для них являются более широкими и включают в себя дату создания, рейтинги и частоту загрузки.
При открытии существующих решений или проектов в системе Visual Studio 2013 они проходят все этапы работы с мастером обновлений (upgrade wizard), в ходе которых в файлы проектов и решений вносятся небольшие изменения. К сожалению эти небольшие изменения связаны с внедрением дополнительных свойств, которые разрушают существующий процесс сборки, если вы используете предыдущую версию системы сборки проектов MSBuild. По этой причине вы будете вынуждены перевести всю свою команду разработчиков на версию Visual Studio 2013.
Одной из наиболее неудачных и плохо понимаемых особенностей системы Visual Studio является концепция проекта Web Site. Этот проект отличается от проекта Web Application, который можно добавить с помощью диалогового окна Add --> New Project. Для того чтобы добавить проект Web Site, необходимо выполнить команду Add --> Web Site в контекстном меню, связанном с узлом Solution. Данная команда открывает диалоговое окно, похожее на то, которое показано на рисунке ниже. В этом окне можно выбрать тип создаваемого веб-проекта. В большинстве ситуаций при этом просто определяется тип создаваемого в проекте элемента, заданный по умолчанию.
Если вы работаете с одним или несколькими проектами, то сначала должны добавить элементы. Для этого выполните команду Add в контекстном меню, которое связано с узлом проекта в окне Solution Explorer. Первое подменю New Item запускает диалоговое окно Add New Item, как показано на рисунке ниже:
Подобно диалоговым окнам New Project и New Web Site, диалоговое окно Add New Item подверглось "косметической операции". Кроме перечисления только тех шаблонных элементов, которые являются релевантными выбранному проекту, это диалоговое окно позволяет искать установленные шаблоны, а также выходить в режим онлайн для поиска шаблонов, созданных другими.
Возвращаясь к контекстному меню Add, вы заметите большое количество заранее определенных сокращенных команд, таких как User Control и Class. Они делают немного больше, чем простой пропуск стадии поиска подходящего шаблона в диалоговом окне Add New Item. Это диалоговое окно по-прежнему открыто, поскольку вы должны задать имя создаваемого элемента.
Важно понимать, что вы добавляете в проект элементы, а не файлы. Хотя многие шаблоны содержат только один файл, некоторые команды, например Window или User Control, добавят в ваш проект несколько новых файлов.
Добавление ссылок
Выпуская новые технологии разработки программного обеспечения, их авторы каждый раз обещают более удобное повторное использование кода, но в действительности лишь некоторые из них выполняют данное обещание. Один из способов, с помощью которого Visual Studio 2013 поддерживает повторное использование компонентов, основан на ссылках проекта.
В старых версиях системы Visual Studio это диалоговое окно загружалось чрезвычайно медленно. Если компонент, который вам необходим, не указан в списке, выберите закладку Browse, позволяющую найти файл, содержащий искомые компоненты, непосредственно в файловой системе. Если вы заблаговременно загрузили список проектов в ваше решение, представили его как закладку по умолчанию и теперь неторопливо загружаете содержание для остальных закладок, то это диалоговое окно откроется на экране почти мгновенно.
Как и в других проектно-ориентированных средах разработки, начиная с первых версий среды VB, вы можете добавлять в проект ссылки, а не скомпилированные двоичные компоненты. Преимущество этой модели состоит в том, что теперь легче выполнять отладку компонента, на который указывает ссылка, и вы сможете гарантированно работать только с самыми последними версиями всех компонентов, хотя в больших решениях эта процедура может оказаться слишком неповоротливой.
Если ваше решение состоит из многих проектов (как правило, крупным считается решение, состоящее более чём из двадцати проектов), то можете разделить его на несколько решений, соответствующих разным подмножествам проектов. В этом случае вы обогатите свой опыт отладки целого приложения и одновременно повысите производительность системы Visual Studio на этапах загрузки и построения решения. В качестве альтернативы можете создать разные конфигурации построения решения, чтобы создать подмножество проектов.
Добавление ссылок на службы
Другой тип ссылок, который обслуживает проводник Solution Explorer, называется ссылками на службу (service references). В предыдущих версиях системы Visual Studio они назывались веб-ссылками, но с появлением программной модели Windows Communication Foundation (WCF) в систему Visual Studio была включена более общая команда меню Add Service Reference. Она открывает диалоговое окно Add Service Reference, показанное на рисунке ниже. В данном примере использована возможность открывать выпадающее меню с помощью кнопки Discover, чтобы просмотреть список Services в решении.
В левом нижнем углу на рисунке показана кнопка Advanced. Диалоговое окно Service Reference Settings, которое открывается после щелчка на этой кнопке, позволяет вам указать, какие типы считаются частью ссылки на службу. По умолчанию считается, что все локальные системные типы соответствуют типам, опубликованным службой. Если это условие не выполняется, то уточните значения в области Data Туре, которая является частью этого диалогового окна. В левом нижнем углу диалогового окна Service Reference Settings расположена кнопка Add Web Reference, позволяющая добавлять в решение более привычные веб-ссылки. Это может оказаться важным, если вы ограничены в ресурсах или пытаетесь поддерживать работу в нескольких системах.
Утилита Solution Explorer (Обозреватель решений), доступная через меню View (Вид), позволяет просматривать набор всех файлов с содержимым и ссылаемых сборок, которые входят в состав текущего проекта:
Рис. 2. 1. Обозреватель решений проекта консольного приложения
Добавление ссылок на внешние сборки
Рис. 3. 1. Окно Добавить ссылку для проекта консольного приложения
Просмотр свойств проекта
И, наконец, напоследок, важно обратить внимание на наличие в окне утилиты Solution Explorer пиктограммы Properties (Свойства):
Двойной щелчок на ней (или нажатие сочетания клавиш Alt+Enter) приводит к открытию редактора конфигурации проекта, окно которого называется Project Properties (Свойства проекта):
Рис. 4. 1. Свойства проекта консольного приложения
В этом окне можно устанавливать различные параметры безопасности, назначать сборке надежное имя, развертывать приложение, вставлять необходимые для приложения ресурсы и конфигурировать события, которые должны происходить перед и после компиляции сборки.
Утилита «Обозреватель объектов» («Object Browser»)
В Visual Studio 2010 доступна ещё одна утилита для изучения множества сборок, на которые имеются ссылки в текущем проекте. Называется эта утилита Object Browser (Обозреватель объектов) и получить к ней доступ можно через меню Вид. Сочетание клавиш Ctrl+W, J:
Рис. 5. 1. Меню «Вид» среды разработки Visual Studio 2010
После открытия её окна останется просто выбрать сборку, которую требуется изучить:
Рис. 5. 2. Обозреватель объектов проекта консольного приложения
Отличие проектов от решений
Одной из важных вещей, которые необходимо понимать, является понимание разницы между проектом и решением:
· Под проектом (project) понимается набор всех файлов исходного кода и ресурсов, которые будут компилироваться в единственную сборку (или в ряде случаев — в единственный модуль). Например, проектом может быть библиотека классов или приложение Windows с графическим пользовательским интерфейсом.
· Под решением (solution) понимается набор всех проектов, которые будут образовывать определенный программный пакет (приложение).
Чтобы ещё больше прояснить, в ч м состоит отличие между проектом и решением, давайте посмотрим, что происходит при поставке проекта, состоящего из нескольких сборок. Например, это может быть интерфейс пользователя, специальные элементы управления и другие компоненты, поставляемые в виде библиотек в отдельных частях приложения. Кроме того, может существовать другой пользовательский интерфейс, предназначенный специально для администраторов. Каждая из этих частей приложения может содержаться внутри отдельной сборки и, следователь-но, рассматриваться в Visual Studio как отдельный проект. Однако существует вероятность того, что все эти части будут кодироваться параллельно в сочетании друг с другом. В таком случае полезно иметь возможность редактировать их в Visual Studio как единое целое. Visual Studio позволяет делать это, рассматривая все проекты как образующие одно решение и воспринимая это решение как единый компонент, который должен считываться и делаться доступным для работы.
Читайте также: