Решения и проекты — это основные средства Visual Studio для организации и управления вашим кодом. Они позволяют вам справляться с большими решениями и предоставляют единую точку доступа к различным настройкам (как на уровне решения, так и на уровне проекта). Решения — это контейнеры высшего уровня и именно их создает Visual Studio в первую очередь при создании нового проекта.
Давайте подытожим все, что мы узнали о решениях:
□ решение может собираться (что повлечет за собой сборку каждого из входящих в него проектов), но не может компилироваться;
□ Visual Studio может загрузить только одно решение одновременно; для работы с несколькими решениями одновременно необходимо запустить несколько копий Visual Studio;
□ вы можете создавать каталоги внутри решения для группирования его содержимого; эти каталоги виртуальные и не являются физическими файловыми каталогами;
□ в первую очередь решения предназначены для группирования вместе нескольких проектов. Проекты внутри решения могут быть разного типа и быть выполнены на разных поддерживаемых языках программирования;
□ решения не могут содержать другие решения;
□ кроме проектов, решения могут содержать также разнообразные файлы (называемые элементами решения), которые обычно представляют собой информацию, имеющую отношение к решению (файлы Readme, системные диаграммы и т. п.).
Несмотря на то, что решения являются важным и необходимым элементом, компилированные .NET-компоненты получаются из проектов Visual Studio. Проекты создаются на основе шаблонов (имеющихся в интегрированной среде), которые охватывают самые разные сценарии разработки, начиная от разработки Web-приложений и заканчивая разработкой приложений Windows и мобильных приложений.
Давайте подытожим все, что мы узнали о проектах:
□ проекты существуют для компиляции кода в сборки;
□ проекты основаны на шаблонах проектов; шаблоны проектов определяют различные объекты, ссылки и т. д. — все, что имеет смысл в контексте проекта;
□ подобно решениям, проекты поддерживают также подкаталоги (для улучшения организации вашего кода). Эти каталоги реальные (физические), они создаются на диске;
□ проекты содержат элементы проектов. Это могут быть файлы исходного кода, ссылки и прочие элементы (такие как виртуальные каталоги и подключения к базам данных).
Мы увидели, как физически представляются решения и проекты. В следующей главе мы опишем основные инструменты Visual Studio, используемые для взаимодействия с решениями и проектами.