Что такое решение 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 проекта.
преимущество решения заключается в том, что в него можно добавить несколько проектов. Это хорошо, если у вас есть проект, который использует свои собственные библиотеки
тогда ваше решение будет содержать ваш основной проект и ваши проекты библиотеки. И все они могут зависеть друг от друга, чтобы строить в правильном порядке.
без решения у вас будет только ваш основной проект, и вам придется создавать свои библиотеки отдельно