Ответ 1
Вы должны включить папку "Свойства"; он содержит AssemblyInfo.cs(со всеми атрибутами сборки) и файлы ресурсов и настроек по умолчанию проекта, если они есть.
Вы также должны включить файл .sln, если он есть.
У меня есть проект, который я ищу для управления вручную с помощью управления версиями perforce, поскольку у меня есть только версия Express. Я ищу, какие файлы должны быть исключены в контроле версий, поскольку блокирование многих файлов может привести к проблеме для компиляции и отладки визуальной студии.
Что я до сих пор включил.
.cs файлы (кроме папки свойств)
.resx файлы
Файлы .csproj
Исключенные
папка bin
папка obj
Папка свойств
.user
Сообщите мне, есть ли что-то большее, что должно быть включено, которое я исключил, или если есть лучший способ сделать это.
Вы должны включить папку "Свойства"; он содержит AssemblyInfo.cs(со всеми атрибутами сборки) и файлы ресурсов и настроек по умолчанию проекта, если они есть.
Вы также должны включить файл .sln, если он есть.
Также исключить:
.suo
app.config (you should commit something like app-dev.config instead)
Re: app.config:
app.config
обычно содержит информацию о конкретной машине (например, строки подключения к базе данных, настройки по умолчанию или пути к ресурсам), и вы не хотите, чтобы это сбивало каждый раз, когда вы проверяете исходный контроль. Эти файлы должны быть созданы/скопированы с помощью сценариев развертывания.
Когда в проекте есть несколько разработчиков, каждый со своим собственным сервером базы данных, это особенно раздражает. Обратное может быть еще более опасным - если вы разворачиваете код для производства, проверяя контроль версий, вы можете непреднамеренно установить производство для использования базы данных разработки, которая может быть катастрофической.
Не забудьте добавить изображения, значки и т.д., которые вы можете использовать в своем приложении. Легко забыть об этом.
Также, если у вас есть документация, связанная с проектом - спецификации, проекты, файлы справки и т.д. Поместите их в отдельные папки под проектом, а затем включите их также.
Если я использую сторонние библиотеки DLL, я их управляю ими с проектом и использую бок о бок развертывание, чтобы DLL копировалась в папку bin во время компиляции (в отличие от просто регистрации DLL в GAC), Результатом этого является еще один разработчик, который может вывести проект из источника управления и иметь зависимости, необходимые для успешной компиляции и запуска проекта. Нет никакой расточительной загрузки и установки сторонних компонентов, и вы уверены, что все разрабатывают/тестируют ту же версию DLL третьей стороны.