Какие расширения файлов в проекте .Net следует исключить из системы контроля версий?
-
21-09-2019 - |
Вопрос
Каждый раз, когда я начинаю проект, мне приходится тщательно обдумывать, какие файлы исключить из системы контроля версий.Кто-нибудь составил список критериев, чтобы я мог просмотреть его с самого начала?Я работаю один, поэтому у меня нет времени на это.Я понимаю, что в случае с DLL вы захотите включить некоторые и исключить другие, поэтому это зависит не только от расширения файла.Мои проекты — ASP.Net, хотя общее обсуждение других шаблонов также было бы полезно.
Решение
От http://blog.goneopen.com/2009/06/git-excludes-for-dotnet/:
.DS_Store
._*
TestResults
*Resharper*
**.ReSharper**
**\_ReSharper.**
*.bak
*.cache
*.resharperoptions
*.suo
*.user
*.vsprops
*/TestResults
*\bin*
*\obj*
_ReSharper.*
Другие советы
Если вы используете РеШарпер, обязательно исключите _Resharper*
папки
Если вы используете Subversion для контроля версий, тогда VisualSVN Плагин Visual Studio автоматически управляет исключениями.
Будь уверен включать любые сторонние библиотеки DLL, на которые ссылается ваш проект, которых нет в GAC ваших компьютеров сборки или развертывания.Наша практика заключается в том, чтобы иметь lib
папку, в которой живут все такие библиотеки, и добавляем ссылки на них из этой папки.Это гарантирует, что hintpath
недвижимость в csproj
файл правильный (в нем хранится относительный путь к указанной dll).
Не используйте систему управления исходным кодом bin
и obj
папки, а также *.suo
и *.user
(если вы используете Visual Studio).
Если вам неудобно хранить сторонние библиотеки DLL в системе контроля версий, попробуйте Компоненто, которая, правда, еще не имеет значительной базы данных компонентов.
Как правило, используются только файлы управления версиями, необходимые для сборки приложения.
Общие данные из папки проекта:
*.Cache
*.user
bin
obj
И из решения (на уровень выше)
*.cache
_PublishedWebSites
*.suo
У нас также есть следующее: настройки конфигурации, специфичные для экземпляра, на которые ссылаются общие конфигурации (т.web.config для приложений asp.net)
AppSettings.config
Provider.config
connections.config
Существуют файлы .config.sample, которые являются версия контролируется.
Вероятно, вам следует установить bin, obj, *.cache, *.user и *.suo как глобальные в настройках вашей Subversion - но поскольку это (если память не изменяет) зависит от машины, вы, вероятно, в любом случае в конечном итоге будете явно игнорировать