Несколько проектов Visual Studio в одном решении
Обновлено: 21.11.2024
Щелкните правой кнопкой мыши узел "Решение" в обозревателе решений, выберите "Добавить" -> "Несколько проектов".
Добавить несколько проектов в решение
- Выберите проекты, которые вы хотите добавить в решение.
- Укажите, следует ли создавать папки решений.
- Нажмите "Добавить".
Соответственно, сколько проектов в решении Visual Studio?
В настоящее время у нас есть 1 решение с 70 проектами.
- Откройте страницу свойств проекта 2. Щелкните правой кнопкой мыши проект 2 в обозревателе решений и выберите "Свойства".
- В разделе C/C++ выберите "Общие".
- Найдите строку «Дополнительные каталоги включения» и добавьте «$(SolutionDir)project 1».
Впоследствии можно также спросить, как мне создать проектное решение в Visual Studio?
- Откройте Visual Studio.
- В верхней строке меню выберите «Файл» > «Создать» > «Проект». Откроется диалоговое окно "Новый проект".
- На левой панели разверните «Другие типы проектов», затем выберите «Решения Visual Studio». В центральной панели выберите шаблон Пустое решение. Назовите свое решение QuickSolution и нажмите кнопку ОК.
В чем разница между решением и проектом в Visual Studio?
Проект содержится в решении. Несмотря на свое название, решение не является «ответом». Это просто контейнер для одного или нескольких связанных проектов, а также информация о сборке, параметры окна Visual Studio и любые другие файлы, не связанные с конкретным проектом.
В чем разница между проектом и веб-сайтом в Visual Studio?
Основное отличие заключается в том, что проект веб-приложения был разработан для работы аналогично веб-проектам, поставляемым с Visual Studio 2003. Он компилирует приложение в один файл DLL во время сборки. В проекте "Веб-сайт" каждый исключаемый файл переименовывается с использованием исключенного ключевого слова в имени файла.
Где хранятся проекты Visual Studio?
В Visual Studio 2017 и более ранних версиях расположением по умолчанию для сохраненных проектов является папка «Документы» в Windows. В папке «Документы» вы найдете еще один с именем Visual Studio, за которым следует год. В этой папке будет проект под названием Projects. Ваша работа сохраняется в этой папке.
Что такое файл проекта в Visual Studio?
Файл проекта C++ в Visual Studio — это файл на основе XML с расширением . vcxproj и содержит информацию, необходимую для сборки проекта C++. Эти файлы содержат дополнительную информацию о сборке и могут ссылаться на другие файлы ".props" или ".target".
Что такое файл решения Visual Studio?
Решение — это структура для организации проектов в Visual Studio. Решение хранит информацию о состоянии проектов в двух файлах: . sln (текстовый, общий).
Как вы создаете решение?
Следующие шаги описывают процедуру приготовления раствора определенной молярности из чистого твердого вещества. Во-первых, отвесьте правильную массу растворенного вещества. Растворите растворенное вещество в воде, сохраняя объем меньше желаемого общего объема раствора. Разбавьте раствор до желаемого общего объема раствора.
NET Framework. Инфраструктура программирования, созданная Microsoft для создания, развертывания и запуска приложений и служб, использующих . NET-технологий, таких как настольные приложения и веб-службы.
Что такое фильтры Visual Studio?
Как открыть решение в Visual Studio?
Чтобы открыть существующий проект или файл решения В Microsoft Visual Studio щелкните меню «Файл» «Открыть проект/решение» (или щелкните меню «Файл» «Открыть проект»). В диалоговом окне «Открыть проект» найдите и выберите файл проекта, который нужно открыть.
Что происходит, когда мы создаем решение в Visual Studio?
Build Solution Создает любые сборки, в которых были изменены файлы из последней сборки. Если есть сборка, в которой нет изменений, она не будет перестроена. Во время сборки Visual Studio не будет удалять промежуточные файлы.
Какой код открывает решение в Visual Studio?
Вы можете открыть любое решение, проект, папку или файл в Visual Studio Code, просто щелкнув его правой кнопкой мыши в обозревателе решений и выбрав Открыть в Visual Studio Code.
Как создать пустой проект в Visual Studio 2019?
Создание пустых решений На левой панели (Шаблоны) выберите Другие типы проектов > Решения Visual Studio в расширенном списке. На средней панели выберите Пустое решение. Введите значения Name и Location для вашего решения, а затем нажмите OK.
Как создать новый проект?
Если у вас уже открыт проект, вы можете начать создание нового проекта, выбрав в главном меню «Файл» > «Создать» > «Новый проект».Затем вы должны увидеть мастер создания нового проекта, который позволяет выбрать тип проекта, который вы хотите создать, и заполнить его кодом и ресурсами для начала работы.
Как добавить проект в решение?
Добавление существующего проекта в решение В обозревателе решений выберите решение. В меню «Файл» выберите «Добавить» и щелкните «Существующий проект». В диалоговом окне «Добавить существующий проект» найдите проект, который вы хотите добавить, выберите файл проекта и нажмите «Открыть». Проект будет добавлен к выбранному решению.
Для чего используется Visual Studio?
Microsoft Visual Studio — это интегрированная среда разработки (IDE) от Microsoft. Он используется для разработки компьютерных программ, а также веб-сайтов, веб-приложений, веб-служб и мобильных приложений.
В настоящее время этот вопрос не подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подкреплены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, аргументы, опросы или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и, возможно, снова открыть, посетите справочный центр для получения инструкций.
Когда я работал на предприятии, мы использовали в решении несколько проектов: проекты пользовательского интерфейса, бизнес-логики, доступа к данным, базы данных и печати. Теперь я нахожусь на новом предприятии, и менеджер говорит мне, что мне не нужно создавать все эти проекты, но я должен сделать их отдельными каталогами в одном проекте в решении.
Я просто хочу знать, нужно ли убеждать его использовать несколько проектов!
@Oded: На моем старом предприятии говорят, что мы должны делать несколько проектов без объяснений (и моя вина в том, что я не стал искать, зачем нам это нужно)
6 ответов 6
Я очень удивлен принятым ответом. Я работал в обеих средах и обнаружил, что несколько проектов в целом приносят пользу. Фактическое решение по-прежнему остается за вашей командой (если один проект не мешает вам достичь ваших целей, этого достаточно).
Я опираюсь на Принципы OOD дяди Боба в отношении управления пакетами. Они не очень хорошо известны (особенно по сравнению с его принципами SOLID для проектирования классов), но они разумны.
Взято из "Принципов OOD дяди Боба"
- REP. Принцип эквивалентности повторного использования релиза Гранула повторного использования — это гранула релиза.
- CCP The Common Closure Principle Классы, которые изменяются вместе, упаковываются вместе.
- CRP. Общие классы принципов повторного использования, которые используются вместе, упаковываются вместе.
- ADP Принцип ациклических зависимостей Граф зависимостей пакетов не должен иметь циклов.
- SDP. Принцип стабильных зависимостей Зависимость в направлении стабильности.
- SAP: принцип стабильных абстракций. Абстрактность возрастает со стабильностью.
Это согласуется с моим личным опытом, когда склонность к меньшему количеству проектов часто приводила к проблемам:
Меньшее количество пакетов может привести к ухудшению управления зависимостями. Отдельные проекты/сборки могут помочь предотвратить использование внутренних/частных классов и членов там, где их быть не должно
Обычно во многих проектах вы разрабатываете очень стабильный и проверенный «базовый» набор библиотек, который очень редко меняется. Хранение этих компонентов в отдельном проекте (или даже в решении) поможет оградить их от текущих изменений в слоях более высокого уровня.
Большие проекты, возникающие в результате использования меньшего количества проектов (или одного), могут быть очень неуправляемыми. Visual Studio не ожидает, что ваш проект/решение будет отражать вашу файловую структуру, поэтому организованный большой проект все еще может существовать в виде хаоса на вашем диске.
Visual Studio достаточно умен, чтобы избежать повторной компиляции сборок, в которых нет изменений. По мере того, как ваши "основные" проекты стабилизируются, они будут получать меньше компиляций, что может сэкономить время компиляции.
Как и в предыдущем случае, использование меньшего количества проектов приводит к постоянной перекомпиляции кода независимо от того, есть ли в нем соответствующие изменения. Однострочное изменение в очень большом проекте приведет к полной перекомпиляции.
Конечно, проблемы могут быть и у нескольких проектов:
Ваши решения могут стать достаточно большими, чтобы оправдать дочерние решения, которыми может быть сложно управлять
Время первоначальной компиляции решения может быть медленнее
Основой вашего ответа является просто ортогональный взгляд на ту же идею, которая принята. Он говорит "когда правильно разделять", вы рассуждаете "почему правильное разделение - это хорошо".
На самом деле я согласен с вашим менеджером.
Несколько проектов означают несколько сборок, большое количество копий сборок и, как правило, более медленное время компиляции.
Если ваша единственная причина иметь несколько проектов — это улучшение организации, значит, вы делаете это неправильно. Не менее эффективным было бы использование папок.
- У вас есть архитектура плагина
- Необходимо развертывать сборки отдельно
- Вам нужно работать на нескольких языках
- Вы создаете библиотеки для использования в разных местах
Это не только "веские" причины для создания разных проектов/сборок, но и причины, по которым это необходимо сделать. Но семантические придирки в сторону, я согласен с этим. Сопоставление 1 проекта с 1 сборкой означает, что разделение проектов, как правило, не является хорошей идеей только для организационных целей.
@MinhTran: В архитектуре плагинов вам нужен (1) один проект с контрактами (интерфейсами), определяющими, что надстройка должна реализовать и как она может взаимодействовать с хост-приложением, (2) один исполняемый файл, ссылающийся на контракты, который хочет загрузите надстройки и (3) по крайней мере одну надстройку в виде библиотеки классов (т. е. DLL), также ссылающуюся на контракты. Идея заключается в том, что исполняемый файл динамически загружает библиотеки DLL надстроек.
Как насчет того, чтобы несколько проектов избавились от циклических зависимостей и улучшили организацию кода? Проекты являются корнями вашего дерева приложений и предотвращают его падение.
Я нашел интересную статью о важности структуры (будь то проект или папка) в приложениях. Я скажу, что когда вы открываете решение и видите список проектов, их имена дают мне представление о том, как было построено приложение. и т. д.
(пример шаблона проектирования MVP)
- BLL (бизнес)
- DAL (постоянство (сопоставления, соглашения и т. д.))
- Интернет
- PL (уровень представления)
- Тест (Конечно, тесты нужно проводить в отдельном проекте)
Структура каталогов имеет основополагающее значение для вашего кода
"Как скажет вам любой дизайнер, первые шаги в процессе проектирования имеют наибольшее значение. Первые несколько штрихов, которые создают форму, нести в себе судьбу остальных». - Кристофер Александр
(Кристофер Александр — архитектор. Не работая программистом, он оказал влияние на многих людей, которые много думают о программировании. Его ранняя книга «Язык шаблонов» послужила первоначальным источником вдохновения для движения «Шаблоны проектирования». , Он долго и усердно думал о том, как создавать красивые вещи, и эти размышления, кажется, в значительной степени применимы и к созданию программного обеспечения.)
В радиоинтервью CBC Александр рассказал следующую историю (перефразированную здесь): : «Я работал с одним из моих студентов. Ему было очень трудно что-то построить. Он просто не знал, как это сделать. Выясните, что является самым важным. Сначала разберитесь в этом. Разберитесь с этим в уме. Не торопитесь. Не торопитесь. Подумайте об этом некоторое время. Когда вы почувствуете, что нашли это, когда не сомневайтесь в том, что это действительно самое главное, тогда идите ах читайте и делайте это самое важное. Когда вы сделали эту самую важную вещь, спросите себя, можете ли вы сделать ее еще красивее. Бросьте ерунду, просто вбейте себе в голову, можете ли вы сделать это лучше или нет. Когда это будет сделано, и вы почувствуете, что не можете сделать это лучше, найдите следующую, самую важную вещь."
Каковы первые штрихи в приложении, которые создают его общую форму? Это структура каталогов. . Структура каталогов — это первое, с чем сталкивается программист при просмотре исходного кода. Все вытекает из нее. Все зависит от нее. Очевидно, что это один из самых важных аспектов вашего исходного кода.
Обдумайте различные реакции программиста при столкновении с различными структурами каталогов.Для стиля «пакет за компонентом» мысли программиста приложения могут быть такими:
«Понятно. Здесь перечислены все функции верхнего уровня приложения за один раз. Красиво." "Посмотрим. Интересно, где находится этот предмет. О, вот оно. И все остальное, что мне понадобится, тоже здесь, на том же месте. Отлично.» Однако для послойного стиля мысли разработчика приложений могут быть примерно такими: «Эти каталоги ничего мне не говорят. Сколько функций в этом приложении? Бьет меня. Он выглядит точно так же, как и все остальные. Никакой разницы. Здорово. Это снова мы. " "Хм. Интересно, где находится этот предмет. Думаю, его части разбросаны по всему приложению, разбросаны по всем этим каталогам. Действительно ли у меня есть все, что мне нужно? Думаю, мы узнаем позже. — Интересно, соблюдается ли до сих пор это соглашение об именах. Если нет, мне придется поискать его в другом каталоге». «Вау, не могли бы вы посмотреть на размер этого единственного каталога. блин." Послойная упаковка в других доменах неэффективна
В этой статье вы узнаете, как создавать и использовать проекты Visual Studio с нуля для хранения артефактов, необходимых для создания приложений. Если вы не знакомы с проектами в Visual Studio, см. этот обзор проектов и решений. Чтобы узнать, как быстро создать проект из шаблона, см. раздел Создание проекта из шаблона.
Проекты содержат элементы, необходимые для создания приложения в Visual Studio, такие как файлы исходного кода, растровые изображения, значки и ссылки на компоненты и службы. Когда вы создаете новый проект, Visual Studio создает решение, содержащее проект. Затем вы можете добавить в решение другие новые или существующие проекты, если хотите. Вы также можете создавать пустые или пустые решения. Решения также могут содержать файлы, не связанные с каким-либо конкретным проектом.
Этот раздел относится к Visual Studio для Windows. Информацию о Visual Studio для Mac см. в разделе Создание проектов в Visual Studio для Mac.
Вы можете просматривать свои решения и проекты в окне инструментов под названием Solution Explorer. На следующем снимке экрана показан пример решения в обозревателе решений (BikeSharing.Xamarin-UWP), который содержит два проекта: BikeSharing.Clients.Core и BikeSharing.Clients.Windows. Каждый проект содержит несколько файлов, папок и ссылок. Название проекта, выделенное жирным шрифтом, — это начальный проект; то есть проект, который запускается при запуске приложения. Вы можете указать, какой проект является стартовым.
Хотя вы можете создать проект самостоятельно, добавив в него необходимые файлы, Visual Studio предлагает набор шаблонов проектов, которые помогут вам начать работу. Создание нового проекта на основе шаблона дает вам проект с необходимыми элементами для этого типа проекта, и вы можете переименовывать файлы или добавлять в него новый или существующий код и другие ресурсы по мере необходимости.
При этом решения и проекты не требуются для разработки приложений в Visual Studio. Вы также можете просто открыть код, который вы клонировали из Git или загрузили из другого места. Дополнительные сведения см. в статье Разработка кода в Visual Studio без проектов или решений.
Создать проект из шаблона проекта
Сведения о том, как выбрать шаблон для создания нового проекта, см. в разделе Создание нового проекта в Visual Studio. А пример проекта и решения, созданного с нуля, с пошаговыми инструкциями и образцом кода, см. в разделе Знакомство с проектами и решениями.
Создать проект из существующих файлов кода
Если у вас есть коллекция исходных файлов кода, вы можете легко добавить их в проект.
В меню выберите "Файл" > "Создать" > "Проект из существующего кода".
В мастере создания проекта из существующих файлов кода выберите нужный тип проекта в поле Какой тип проекта вы хотите создать? раскрывающемся списке, а затем нажмите кнопку Далее.
В мастере перейдите к расположению файлов и введите имя нового проекта в поле Имя. Когда вы закончите, нажмите кнопку Готово.
Добавить файлы в решение
Если у вас есть файл, относящийся к нескольким проектам, например файл сведений для решения, или другие файлы, которые логически принадлежат уровню решения, а не конкретному проекту, вы можете добавить их в само решение. Чтобы добавить элемент в решение, в контекстном меню (щелкните правой кнопкой мыши) узла решения в обозревателе решений выберите Добавить > Новый элемент или Добавить > Существующий элемент.
Файл решения — это структура для организации проектов в Visual Studio. Он содержит состояние этой информации в двух файлах: .sln (текстовый, общий) и .suo (двоичный, скрытый, пользовательский опции) файл. Таким образом, решение — это не то, что нужно копировать и переименовывать; вместо этого лучше создать новое решение, а затем добавить в него существующие элементы.
Создать пустые решения
Вы также можете создавать пустые решения без проектов. Это может быть предпочтительнее в тех случаях, когда вы хотите создать свое решение и проекты с нуля.
Чтобы создать пустое решение
На левой панели (Шаблоны) выберите Другие типы проектов > Решения Visual Studio в расширенном списке.
На средней панели выберите Пустое решение.
Введите значения имени и местоположения для своего решения, а затем нажмите кнопку ОК.
На странице "Создание нового проекта" введите решение в поле поиска.
Выберите шаблон Пустое решение и нажмите кнопку Далее.
Введите значения «Имя» и «Расположение» для своего решения, а затем нажмите «Создать».
После создания пустого решения вы можете добавить в него новые или существующие проекты или элементы, выбрав "Добавить новый элемент" или "Добавить существующий элемент" в меню "Проект".
Как упоминалось ранее, вы также можете открывать файлы кода без необходимости в проекте или решении. Чтобы узнать о такой разработке кода, см. раздел Разработка кода в Visual Studio без проектов или решений.
Создать временный проект
Чтобы создать временный проект, сначала выберите Инструменты > Параметры > Проекты и решения > Общие и снимите флажок Сохранять новые проекты при создании. Затем откройте диалоговое окно «Новый проект», как обычно.
Удалить решение, проект или элемент
Вы можете использовать контекстное меню, вызываемое правой кнопкой мыши, для удаления решений, проектов или элементов в Visual Studio, но при этом они удаляются только из текущего решения или проекта.
Чтобы безвозвратно удалить решение или другие компоненты из вашей системы, используйте Проводник в Windows, чтобы удалить папку, содержащую файлы решений .sln и .suo. (Прежде чем удалять решение, вы можете сделать резервную копию своих проектов и файлов на случай, если они понадобятся вам снова.)
Файл .suo — это скрытый файл, который не отображается в настройках проводника по умолчанию. Чтобы отобразить скрытые файлы, в меню «Вид» проводника установите флажок «Скрытые элементы».
Удалить решение навсегда
Вы можете получить доступ к проводнику файлов в Windows с помощью обозревателя решений в Visual Studio. Вот как.
В обозревателе решений в контекстном меню решения, которое нужно удалить, выберите пункт Открыть папку в проводнике.
В Проводнике перейдите на один уровень вверх.
Выберите папку, содержащую решение, и нажмите клавишу Delete.
Visual Studio позволяет указать способ запуска нескольких проектов при нажатии F5 (запуск с отладкой) или Ctrl+F5 (запуск без отладки) или при использовании кнопки на панели инструментов для запуска приложения. Таким образом, вы можете запускать несколько сайтов, приложений или служб, которые зависят друг от друга, чтобы правильно работать во время сеанса отладки или просто запускать и тестировать локально.
Чтобы установить несколько запускаемых проектов
В обозревателе решений выберите решение (верхний узел).
Выберите контекстное меню узла решения (щелчок правой кнопкой мыши), а затем выберите "Свойства". Появится диалоговое окно Страницы свойств решения.
Разверните узел "Общие свойства" и выберите "Запуск проекта".
Выберите параметр «Несколько запускаемых проектов» и задайте соответствующие действия.
Пример
В следующем примере показано решение WebFrontEndA с тремя проектами, интерфейсным веб-сайтом, проектом веб-API и проектом Docker Compose. На следующем снимке экрана показано, как запустить два из трех проектов, один с отладкой, а другой без нее:
В этом примере и любом другом сценарии Docker Compose, если вы выберете docker-compose в качестве отдельного запускаемого проекта, вы будете использовать другой способ указания запускаемых проектов или служб. Вы будете использовать профиль запуска Docker Compose, чтобы определить, какие службы запускать и следует ли подключать отладчик, а в Visual Studio есть другое диалоговое окно для его настройки. См. Запуск подмножества служб. Диалоговое окно «Страницы свойств решения» используется только для неконтейнерных решений или когда вы не используете Docker Compose для управления запуском.
Читайте также: