2012-03-29 119 views
2

我正在使用MSBuild社区任务项目中的svncommit任务。不幸的是我有一个相当大的一堆文件提交&它失败,此错误:svncommit msbuild任务失败,因为命令行太长

The command-line for the "SvnCommit" task is too long. Command-lines longer than 32000 characters are likely to fail. Try reducing the length of the command-line by breaking down the call to "SvnCommit" into multiple calls with fewer parameters per call.

我试过只是指着父文件夹的Targets参数,但它似乎想要的文件。有什么办法可以告诉它只提交一个文件夹中的所有未决文件?

回答

2

其实这个bug是resgen.exe特有的。在这种情况下,这只是因为您使用的任务是将参数直接传递给.exe,而不是使用响应文件。对于一个进程,Windows不会接受超过32KB的参数。这就是运送MSBuild任务总是使用响应文件的原因。

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

您需要或者要求修复任务以使用响应文件,或者缩短您使用的文件的路径,或许将它们移近磁盘根目录,或者使用“SUBST”。

Dan(MSbuild dev)