2012-03-29 27 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

実際には、resgen.exe固有のバグが記載されていました。この場合は、レスポンスファイルを使用するのではなく、使用しているタスクが文字通り.exeにパラメータを渡しているためです。 Windowsはプロセスに対して32KBを超えるパラメータを受け入れません。そのため、出荷されているMSBuildタスクは常に応答ファイルを使用します。

(これらのバグは、サポートされていない3.5 resgenを使用しており、ファイルのサブセットを繰り返し呼び出すことでこれを回避しようとしていました。残念ながら、数学は間違っていました。 )

応答ファイルを使用するようにタスクを修正するか、使用しているファイルのパスを短くするか、ディスクのルートに近づけるか、 "subst"。

ダン(MSbuild開発者)