Управление решениями в Visual Studio
Решения Visual Studio
Для создания исполняемой сборки достаточно одного проекта. Также Visual Studio позволяет создать несколько отдельных файлов со сборками и использовать их в одном приложении. Файл решения является контейнером, который может содержать проектные файлы. При создании нового проекта фактически создается решение, которое содержит проект.
Создание решения с несколькими проектами. Новые проекты можно добавить к решению, щелкнув правой кнопкой мыши по решению и выбрав во всплывающем меню пункт Добавить -> Создать проект…. В открывшемся окне можно выбрать любой из представленных шаблонов проекта и создать новый проект, который будет являться частью решения (рис. 5.7)
На рисунке к решению добавлен новый проект библиотеки DisplayLibrary. Библиотека будет скомпилирована в DLL-файл, который будет храниться в папке для этого проекта. Этой библиотекой могут пользоваться любые проекты, которые добавят ссылку на DLL-файл.
Связывание проектов. В настоящее время проекты в нашем решении никак не связаны. Если в проекте SimpleProject нужно использовать ресурсы проекта DisplayLibrary, в первый проект нужно добавить ссылку на второй проект. После этого можно добавить директиву using в исходный код программы:
using DisplayLibrary;
После этого, при построении проекта SimpleProject в каталоге с выходными файлами программы теперь создается еще и DLL-файл проекта DisplayLibrary.
Решения с несколькими проектами. Можно поместить в одно решение несколько проектов разных типов. Например, можно создать игру XNA для Windows Phone, Xbox 360 и компьютера под управлением Windows, используя единственный файл решения. Для каждого из этих устройств можно создать отдельный файл проекта. Игровой движок может быть реализован в четвертом проекте, который нужно использовать в остальных проектах.
Можно создать приложение Silverlight, которое подключается к веб-службе; при этом можно поместить и проект приложения Silverlight и проект веб-службы в одно решение.
Проекты решения и выполняемые ими задачи должны быть определены в начале разработки. Если решение содержит несколько проектов, можно назначить один из них запускаемым проектом, который будет выполняться первым при запуске проекта.
Решения Windows Phone
Существует много видов решений для Windows Phone, которые можно создать в Visual Studio: приложение Silverlight, приложение XNA и приложение, использующее совместно Silverlight и XNA. Также есть проекты для создания дополнительных элементов решений Windows Phone, например, фоновые задачи.
Решение Silverlight для Windows Phone. Решение для Windows Phone, содержащее проект приложения на Silverlight, может иметь структуру, представленную на рис. 5.8.
Решение Silverlight для Windows Phone содержит файл MainPage.xaml, который описывает внешний вид главного экрана. Также оно содержит изображения, которые используются для вывода на экран значка приложения и заставки, которыми будет управлять программа. Если добавить новые страницы к приложению Silverlight, то они будут добавлены к проекту в виде XAML-файлов и файлов отделенного кода. Проект также содержит ссылки на все системные библиотеки, которые использует телефон.
Решение XNA для Windows Phone. Технология XNA Framework создана для того, чтобы создавать игры. Она предоставляет целый игровой движок, в который можно поместить свою игру и добавить внешний вид. Она позволяет управлять ресурсами и легко добавлять в игру изображения, текстуры и звуки.
При создании решения XNA, используя шаблон Visual Studio, фактически создается сразу два проекта (рис. 5.9). Один из них содержит исполняемый код, а другой содержит все используемые игрой ресурсы. Идея состоит в том что, если игра должна работать на нескольких платформах, достаточно просто добавить к решению новые проекты. Они могут совместно использовать один проект ресурсов.
На рисунке представлено решение новой игры XNA. Если добавить в проект ресурсы, например, изображения, то они будут сохранены в проекте ресурсов WindowsPhoneGameContent, который может использовать любой проект игры в этом решении.
Совместное использование Silverlight и XNA. Решение, совместно использующее XNA и Silverlight, содержит три проекта (рис. 5.10). Проект Silverlight фактически содержит приложение игры XNA, работающей на одной из страниц приложения Silverlight. Однако, решению нужна библиотека компонентов XNA, а также проект ресурсов XNA. Visual Studio автоматически создает все необходимые проекты, их нужно просто заполнить кодом.