Что такое решение C# и как его использовать?

Я новичок в C# (из Python и C), и когда я начинаю новый проект в Monodevelop или Visual Studio, проект помещается в контейнер "решение".

Я посмотрел на описание Microsoft того, что такое решение, но я действительно не понимаю преимущества этого и как я должен его использовать.

на документация Microsoft говорит:

проект содержится, в логическом смысле и в файловой системе, в решении, который может содержать один или несколько проектов, а также сведения о сборке, параметры окна Visual Studio и любые другие файлы, не связанные ни с одним проектом. В буквальном смысле решение представляет собой текстовый файл с собственным уникальным форматом; обычно он не предназначен для редактирования вручную.

может кто-нибудь объяснить, для чего здесь "решения"?

7 ответов


решение-это рабочее пространство, объединяющее несколько проектов, которые обычно связаны друг с другом. Конструкция очень полезна в ситуациях, когда некоторый код должен быть разделен между несколькими проектами.

например, если вы разрабатываете веб-сайт с отдельным серверным компонентом, вы можете разделить его на несколько связанных проектов:

  • проект, содержащий общие интерфейсы, производящий DLL
  • проект, содержащий базу данных определение, создание сценария развертывания СУБД
  • проект, содержащий реализацию API на стороне сервера, создающий исполняемый файл
  • проект веб-сайта, создающий сценарий развертывания IIS

эти четыре проекта связаны друг с другом. Размещение их в одном решении позволяет получить доступ к отдельным частям, используя преимущества общего индексирования, которое Visual Studio делает для вас, чтобы упростить поиск использования и помочь с рефакторинг.


решение является "контейнером" для ваших проектов.

например: если вы пишете приложение windows, у вас может быть один проект для UI-stuff и один проект для бэкэнд-логики.

чтобы легко работать над обоими проектами, они объединены в одно решение, позволяющее не только отлаживать оба проекта, но и создавать их в указанном порядке.


преимущества

решения позволяют сосредоточиться на разработке и развертывании проекты, вместо того, чтобы сортировать все детали управления файлы, компоненты и объекты проекта. Каждое решение Visual Studio позволяет:

работа над несколькими проектами в одном экземпляре IDE.

работа с элементами с помощью параметров и параметров, применимых ко всему набору проектов.

используйте Обозреватель решений для разработки и развертывания приложения.

управление дополнительными файлами вне контекста решения или проект.

прочитайте всю статью для получения более подробной информации:решения как контейнеры


хотя все остальные ответы верны, я чувствую, что им не хватает концептуальной причины.

проект-это автономная часть работы, это может быть приложение Win Forms, библиотека классов, веб-сайт, веб-служба и т. д.

однако для решения проблемы может потребоваться несколько частей для работы, т. е. приложению Win Forms требуется библиотека классов для работы, а также веб-служба, но веб-сайту может потребоваться веб-служба.

в Файл решения является Концептуализированной моделью этого.

Если ваша проблема-приложение Win Forms, то вы создаете решение и добавляете приложение Win Forms и библиотеку.

Если ваша проблема-веб-сайт, вы создаете решение и добавляете веб-сайт, веб-службу и библиотеку.

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


решение группирует все ваши проекты (dll), файлы, конфигурации и т. д. Вместе, цитата, которую вы предоставили, вполне объяснима:

проект содержится в логическом смысле и в файловой системе в решении...


раствор содержит один или несколько проектов. Например, решение содержит веб-проект, мобильный проект и проект службы windows. Итак, решение моего приложения имеет 3 проекта.


преимущество решения заключается в том, что в него можно добавить несколько проектов. Это хорошо, если у вас есть проект, который использует свои собственные библиотеки

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

без решения у вас будет только ваш основной проект, и вам придется создавать свои библиотеки отдельно