Подтвердить что ты не робот

Какие .net файлы должны быть исключены из исходного управления?

Какие расширения файлов из приложения .net следует исключить из источника управления и почему?

4b9b3361

Ответ 1

Зависит от проекта, но у меня есть следующее для проекта Silverlight + WPF в .gitignore:

# Visual Studio left-overs
*.suo        # 'user' settings like 'which file is open in Visual Studio'
*.ncb        # Used for debugging
*.user
*.ccscc      # Used for versioning
*.cache

# Editor left-overs
*~           # (x)emacs
*.bak        # Windows related
\#*\#        # (x)emacs
*.orig       # Own usage

# Compiled files
*/bin/
*/obj/
*/Obj/       # git is case sensitive
*/Generated_Code/
PrecompiledWeb
*/ClientBin
# Windows left-overs
Thumbs.db    # Having images in the source tree generates those files in Explorer

Однако ".suo" несколько проблематичен: он также содержит "пользовательские" настройки, которые должны были быть настройками проекта, например, стартовой страницей для приложения Silverlight.

Лучшим и единственным способом является итеративное добавление исключаемых файлов. Если вы используете git, используйте git -gui для быстрого и интерактивного просмотра списка файлов, которые вы забыли исключить. Адаптируйте .gitignore и обновите в git -gui. Итерация до тех пор, пока оставшиеся файлы не будут введены.

Некоторые типы файлов не совсем понятны. Убедитесь, что вы понимаете все файлы, которые вы проверяете. Например, для служб RIA в нашем проекте Silverlight у нас была база данных аутентификации, сгенерированная Visual Studio, которая содержала 2 аккаунта и привела к созданию массивного файла базы данных 10 МБ .MDB(!). Как только мы поняли, откуда оно взялось, его изменение на SQL-дамп уменьшило размер до 500 килобайт. Всегда требуется постоянная проверка (проверка) перед самой ведением, поэтому список не определен.

Ответ 2

Это действительно зависит от вашей системы сборки. Проверьте минимальные файлы, необходимые для запуска полной сборки.

Как правило, это означает, что вы исключаете все, кроме файлов csproj и *.cs. Вероятно, вы можете проверить свой .sln файл, если хотите.

Ответ 3

Я получил свой список из этого вопроса: Лучший общий шаблон игнорирования SVN?

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

Ответ 4

Вот список минимальных записей, которые я использую в недавних проектах .NET.

*.vs
*.user
*.cache
bin/
obj/
  • Первая запись пропускает скрытую папку .vs и ее содержимое.
  • Последние два ничего не значат в этих папках.

Не стесняйтесь добавлять комментарии в случае отрицательного голосования.