svncommit msbuild任务失败,因为命令行太长

时间:2012-03-29 03:18:25

标签: msbuild msbuildcommunitytasks svncommit

我正在使用MSBuild社区任务项目中的svncommit任务。不幸的是,我有一大堆文件需要提交&它失败并出现此错误:

  

" SvnCommit"的命令行任务太长了。命令行   超过32000个字符可能会失败。尝试减少   命令行的长度,通过分解调用" SvnCommit"   多次调用,每次调用参数较少。

我尝试将Targets参数指向父文件夹,但似乎想要这些文件。有什么办法可以告诉它只提交文件夹中的所有待处理文件吗?

1 个答案:

答案 0 :(得分:2)

实际上提到的bug是resgen.exe特有的。在这种情况下,它只是因为您正在使用的任务是将参数字面传递给.exe,而不是使用响应文件。 Windows不会为进程接受超过32KB的参数。这就是运送MSBuild任务总是使用响应文件的原因。

(在提到错误的情况下,他们使用的是不支持它们的3.5 resgen,并试图通过使用文件的子集重复调用它来解决这个问题。不幸的是数学错了。)

您需要要么修复任务以使用响应文件,要么缩短您正在使用的文件的路径,可能是将它们移近磁盘的根目录,或者使用“subst” ”

Dan(MSbuild dev)