Почему VS2010 допускает использование концепции «включить в проект»? - PullRequest
3 голосов
/ 24 ноября 2011

Я все еще изучаю основы того, как VS2010 видит мир. По-видимому, вы можете при желании «включить» файл в проект. Я немного сбит с толку этим: если файл контролируется версией и файл находится в каталоге проекта, не должен ли он неявным образом «включаться» в проект? Если нет, то каков вариант использования, когда файл с контролем версий в каталоге проекта НЕ должен включаться в проект?

=== Дополнение ===

Исходя из ответов, которые я получил до сих пор, возможно, мне следует перефразировать мой вопрос: что означает "включение" файла в проект?

Ответы [ 7 ]

5 голосов
/ 24 ноября 2011

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

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

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

РЕДАКТИРОВАТЬ: В ответ на ваше обновление, что означает для файла, который будет включен в проект, это то, что файл фактически добавляется в .csproj или.vbproj файл и будет использоваться во время компиляции и / или распространения.VS различает, является ли файл Content или ему нужно Compile.Это можно увидеть, щелкнув файл в обозревателе решений и выбрав свойство Build Action.

5 голосов
/ 24 ноября 2011

Нет, вы не хотите, чтобы случайные файлы попали в каталог проекта, включенный в систему контроля версий

3 голосов
/ 24 ноября 2011

Мы иногда помещаем документацию (pdf) или чертежи / схемы в папку проекта и под контроль версий, но они вам не нужны внутри проекта Visual Studio (особенно когда они не распространяются, потому что они предназначены только для внутреннего использования). ).

1 голос
/ 24 ноября 2011

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

1 голос
/ 24 ноября 2011

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

Пример Если мне нужен тестовый XML для приложениячто я пишу;который обычно предназначен для извлечения этого из службы WCF, может быть полезно сохранить этот файл в каталоге для среды разработки, где я использую IO для получения XML для тестирования, но я не обязательно хочу его в своем решениикоторый контролируется источником.

0 голосов
/ 29 ноября 2011

Один из моих коллег объяснил мне сценарий, в котором файл с управлением версиями НЕ должен быть частью проекта.Вот идея:

  • Разработчик пишет новый код.
  • Код является экспериментальным и не предназначен для того, чтобы быть частью нормальной сборки.способ исключить файл из сборки - НЕ включать его в проект, но по-прежнему контролировать его.
  • Таким образом, файл может быть доступен другим разработчикам, но не нарушать сборку.*
0 голосов
/ 24 ноября 2011

Если вы, например, скопируйте файл (содержащий полезный класс, который хотите иметь в вашем проекте) в папку вашего проекта, тогда вы увидите ... ничего. Вы должны проверить опцию «Показать все файлы» обозревателя решений, и скопированный файл будет виден, но он по-прежнему «затенен». Нет, вы можете выбрать пункт меню Включить в проект , и этот файл будет интегрирован в ваш проект, а также добавлены ожидающие изменения (добавления) для вашего контроля версий. Visual Studio не включает в проект все файлы, которые он может автоматически найти в папке проекта, и это хорошая функция.

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