Хороший вопрос!Основное правило, которое я использую, таково:
- Проверьте все файлы в папке, чтобы получить полное дерево
- Поработайте с этим и обратите внимание на PendingПроверки
- Файлы, находящиеся на рассмотрении, но которых вы не трогали, являются файлами Visual Studio, которые обновляются, пока вы работаете, чтобы сохранить настройки проекта.
- Осторожно, теперь:
*.sln
, *.csproj
и другие файлы проекта также изменятся, их необходимо проверить. - Другие файлы, особенноте, которые «выглядят» двоичными файлами (например, в
obj
dir и *.suo
файле), могут быть помечены для списка исключений.
Вы можете решить включить встроенные версииDLL или EXE, но это не обязательно, поскольку любой, кто загружает ваш проект, может его создать.Теперь следующий шаг:
- После того, как вы немного поработали и подумали, что создали стабильный список файлов, перенесите весь проект в другое место и немедленно скомпилируйте.Это работает?Он пропускает файлы?
Если этот последний шаг работает (и вы должны регулярно его проверять), у вас есть прочная основа для ваших файлов.
Примечание: некоторые инструментыподдерживать Visual Studio изнутри и знать , какие файлы следует или не следует включать, т. е. для SVN я знаю, что VisualSVN неплохо справляется с пропуском ненужных файлов.
Еще два правила (на самом деле три):
- Будьте конкретны в том, что вы исключаете, будьте либеральны в том, что вы включаете: лучше включать слишком много, чем слишком мало;
- Несколько расширений, которые можно безопасно исключить:
*.user
(корень любого проекта), \obj\**
(все во временной папке obj
), *.vspscc
и *.vssscc
(корень проекта),*.suo
и в зависимости от ваших предпочтений: \bin\**
. - Да, и для проектов веб-сайтов они могут содержать или добавлять каталог
PrecompiledWeb
в ваше решение, в которое вы действительно не хотите регистрироваться: исключите все здесь.
РЕДАКТИРОВАТЬ: этот вопрос в SO имеет очень обширный список файлов, которые следует игнорировать в Visual Studio.