Отключение TFS, исключить папку obj с использованием шаблона

Я настраиваю TFS 2015 на-prem, и у меня возникла проблема на моем последнем этапе сборки, Publish Build Artifacts. По какой-то причине агент сборки, похоже, архивирует старые двоичные файлы, и у меня остается огромный путь к файлу:

E:\TFSBuildAgent\_work\1a4e9e55\workspace\application\Development\project\WCF\WCF\obj\Debug\Package\Archive\Content\E_C\TFSBuildAgent\_work\1a4e9e55\workspace\application\Development\project\WCF\WCF\obj\Debug\Package\PackageTmp\bin

Я копирую файлы, используя пример шаблона минимизации, чтобы начать с:

**\bin

Я тестирую только сейчас, так что это не постоянное решение, но как я могу скопировать все двоичные файлы, которые находятся в папке bin, но не потомок obj?

Из исследования я думаю, что это должно работать, но это не так (это ничего не соответствует):

**!(obj)**\bin

Я использую www.globtester.com для тестирования. Какие-либо предложения?

В отдельном примечании я рассмотрю проблему архивирования позже, но если у кого есть какие-либо указания на нее, не стесняйтесь комментировать. Благодаря

Ответ 1

Я подозреваю, что вы ищете:

 **\bin\$(BuildConfiguration)\**\*;-:**\obj\**

-: исключает элементы из тех, что перед ним.

Ответ 2

Согласно документации Microsoft, вот список шаблоны сопоставления файлов. Самые важные правила:

Соответствует ?

  • ? соответствует любому одиночному символу в имени файла или каталога (ноль или один раз).

Совпадение с * или +

  • * или + соответствует ноль или более символов в имени файла или каталога.

Соответствует знаку @

  • @ соответствует ровно один раз.

Совпадение с скобками (, ) и |

  • Если вы используете скобки с |, он рассматривается как логический ИЛИ, например. *(hello|world) означает "Нуль или больше случаев приветствия или мира"

Совпадение с двойной звездочкой **

  • ** рекурсивный подстановочный знак. Например, /hello/**/* соответствует всем потомкам /hello.

Исключить шаблоны с помощью !

  • Leading ! изменяет значение шаблона include для исключения. Поддерживаются шаблоны с чередующимися исключениями.

Наборы символов с [ и ]

  • [] соответствует набору или диапазону символов в имени файла или каталога.

Комментарии с #

  • Шаблоны, начинающиеся с #, рассматриваются как комментарии.

Экранирование

  • Для исключения символов буквенного глобуса в имени файла можно использовать специальные символы в []. Например, буквальное имя файла hello[a-z] может быть экранировано как hello[[]a-z].

Пример

В поле "Содержание" этапа сборки "Копировать файлы" можно использовать следующие выражения для создания пакета развертывания для веб-проекта:

** \? (Конфигурации |..dll | *.sitemap)
** \? (.exe |.dll |.pdb |.xml | *.resx)
** \? (JS |..css |.html |.aspx |.ascx |.asax |.master |.cshtml | *.map)
? **\(. GIF |.png |.jpg |.ico | *.pdf)

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