2

svncommitMSBuild CommunityTasksProjectのタスクを使用しています。残念ながら、コミットするファイルがかなりたくさんあり、次のエラーで失敗します。

「SvnCommit」タスクのコマンドラインが長すぎます。32000文字より長いコマンドラインは失敗する可能性があります。「SvnCommit」の呼び出しを、呼び出しごとのパラメーターが少ない複数の呼び出しに分割して、コマンドラインの長さを短くしてみてください。

親フォルダーにパラメーターを指定しようとしTargetsましたが、ファイルが必要なようです。フォルダ内のすべての保留中のファイルをコミットするように指示する方法はありますか?

4

1 に答える 1

2

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

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

応答ファイルを使用するようにタスクを修正するように依頼するか、使用しているファイルのパスを短くする必要があります。おそらく、ファイルをディスクのルートに近づけるか、「subst」を使用します。

ダン(MSbuild開発者)

于 2012-04-01T19:46:04.897 に答える