VS2005 и VSS. Должны ли файлы.exes, .dlls, pdbs, .resource и сгенерированные XML-файлы идти в VSS?

Кажется, что файлы следующего типа должны быть доступны для записи, чтобы можно было скомпилировать решение. .exe .dll .pdb (при отладке) .resource (?) .xml (по крайней мере, сгенерированные системой. Я не уверен, что это всего лишь файлы документации XML)

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

Какова лучшая практика? Кажется, VSS автоматически добавляет все.

3 ответа

Как правило, вы не хотите проверять какие-либо файлы, которые генерируются, если только вы не сгенерируете их один раз, а затем "копируете и работаете" с файлами оттуда (то есть вы никогда не регенерируете их). Это особенно верно для систем контроля версий, таких как VSS, которые используют блокировку с одной проверкой.

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

Я полагаю, что вы можете настроить VSS, чтобы он не делал эксклюзивную блокировку при проверке, но в целом я бы не стал проверять созданные файлы. Вы должны попытаться довести свою систему до точки, где, если вам нужно вернуться к предыдущей версии сгенерированного файла, вы извлекаете соответствующую версию / тег "исходных" файлов и заново генерируете другие файлы оттуда.

В общем случае файлы, созданные как часть процесса сборки, не проверяются на контроль версий.

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

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

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

Распространенной ошибкой является добавление папки из VSS.

Другие вопросы по тегам