Задача svncommit msbuild завершается неудачно, поскольку командная строка слишком длинная - PullRequest
2 голосов
/ 29 марта 2012

Я использую задачу svncommit из проекта MSBuild Community Tasks. К сожалению, у меня есть достаточно большой набор файлов для фиксации, и он не работает с этой ошибкой:

Слишком длинная командная строка для задачи «SvnCommit». Параметры командной строки более 32000 символов, скорее всего, потерпят неудачу. Попробуйте уменьшить длина командной строки путем разбивки вызова на «SvnCommit» на несколько вызовов с меньшим количеством параметров на вызов.

Я попытался просто указать параметр Targets в родительской папке, но, похоже, он хочет файлы. Можно ли как-то сказать, что нужно просто зафиксировать все ожидающие файлы в папке?

1 Ответ

2 голосов
/ 01 апреля 2012

На самом деле упомянутая ошибка была специфической для resgen.exe. В этом случае это просто потому, что используемая вами задача - передача параметров буквально в .exe, а не использование файла ответов. Windows не будет принимать более 32 КБ параметров для процесса. Вот почему в поставляемых задачах MSBuild всегда используются файлы ответов.

(В случае упомянутой ошибки они использовали resgen 3.5, который их не поддерживал, и пытались обойти это, повторно вызывая его с подмножеством файлов. К сожалению, математика ошиблась.)

Вам нужно будет либо попросить исправить задачу, чтобы использовать файлы ответов, либо сократить пути файлов, которые вы используете, возможно, перемещая их ближе к корню диска, или используя "subst" ».

Дэн (MSbuild dev)

...