2013-06-07 3 views
0

У меня есть группа элементов проекта MSBuild, который представляет файлы, которые нужно скопировать. Задача «Копировать» и другая пользовательская задача, которую я написал, похоже, хотят выполнить пакетную обработку метаданных объекта Destination. Я не могу не задаться вопросом, что это будет медленным, и я пытаюсь добиться этого как можно быстрее.MSBuild: как отключить или отключить дозирование?

Таким образом, пакетная обработка означает, что если группе задана группа из 100 элементов, то эта задача НЕ вызывается один раз со 100 элементами. Вместо этого он вызывается несколько раз с меньшими группами элементов.

Это приводит к огромной трате времени, так как виртуальная функция Execute этой задачи поражает десятки, если не сотни раз.

Как отключить дозирование в MSBuild для задачи? Или цель?

ответ

0

Если у вас есть список элементов, вы не можете отключить пакетную обработку, но это зависит от задачи/цели, которую вы хотите вызвать. Например, если вы используете задачу «Копировать», это зависит от адресата, если вы хотите определить одну целевую папку или конкретный целевой файл для копирования каждого файла.

Если у вас есть пользовательская задача, это зависит от реализации задачи, если вы можете указать ввод в виде разделителя с запятой или элемента по позиции.

Здесь приведены MSBuild copy entire directory while using metadata in path names некоторые отличия при дозировании.

Если у вас есть более конкретные примеры проблем, пожалуйста, сообщите.

Смежные вопросы