我正在使用MSBuild社区任务项目中的svncommit
任务。不幸的是,我有一大堆文件要提交&它失败了,并出现以下错误:
"SvnCommit"任务的命令行太长。命令行超过32000个字符可能会失败。尝试减少命令行的长度,通过分解对"SvnCommit"的调用转换为每次调用具有较少参数的多个调用。
我试着将Targets
参数指向父文件夹,但它似乎想要这些文件。有没有什么方法可以告诉它只提交文件夹中所有挂起的文件?
实际上,提到的错误是resgen.exe特定的。在这种情况下,这只是因为您使用的任务是将参数直接传递到.exe,而不是使用响应文件。Windows不会接受超过32KB的进程参数。这就是为什么运输MSBuild任务总是使用响应文件的原因。
(在提到的错误的情况下,他们使用的是不支持他们的3.5 resgen,并试图通过对文件的子集重复调用它来解决这个问题。不幸的是,数学是错误的。)
您需要要求修复任务以使用响应文件,或者缩短正在使用的文件的路径,可能是将它们移到更靠近磁盘根的位置,或者使用"subst"。
Dan(MSbuild-dev)