Задача svncommit msbuild завершается неудачно, потому что командная строка слишком длинная

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

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

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

1 ответ

Решение

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

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

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

Дэн (MSbuild dev)

Другие вопросы по тегам