2017-01-18 21 views
0

Я использую Nant для генерации моих файлов web.config при создании моих проектов. Это означает, что каждый разработчик в команде автоматически создает свои файлы web.config на основе шаблонов.Блокировать файлы .config из ожидающих изменений в Visual Studio 2015 ( w VSO)

Результатом является то, что каждый раз, когда кто-то создает сгенерированный web.config, отображается как ожидающее изменение. Раньше мы удаляли web.config с нашего онлайн-сервера с поддержкой TFS (visual studio online), поэтому исходный контроль не учитывал бы файл web.config, требующий проверки. Однако, так как теперь нам нужны web.configs в исходном элементе управления для успешной сборки (раньше он не строился на сервере), снова требуются web.configs.

Пробовал:

  • .tfignore, не работает, если web.config находится в системе управления версиями.
  • клоакинг в TFS, работает только с папками, а не отдельными элементами
  • локальная область для клонирования, теперь это работает ... но для каждого разработчика потребуется каждый раз настроить/скрыть много файлов, что очень непрактично.
  • Сохранение сгенерированных конфигураций в Исключенных изменениях, это работает, но очень беспорядочно и легко ошибиться с другими исключенными изменениями.
  • Установка прав доступа, ничего не сделала.
+0

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

+0

Правильно, но проблема в том, что, поскольку сгенерированный файл web.config определен файлом определения проекта, сервер сборки будет искать их. Использование такого решения, как .tfignore, будет работать ... но не потому, что требует, чтобы конкретный файл не находился в контроле источника. – user2713516

+0

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

ответ

0

Другой способ:

  1. Put конфигурационный файл в папку проекта и добавить в систему управления версиями
  2. Игнорировать фактические конфигурационные файлы
  3. Добавить Копирование файлов строить шаг (перед VS строить шаг) в определение сборки для копирования файла конфигурации (в этой папке) в соответствующую папку