コマンドラインと Visual Studio .NET 2003

コマンドラインからアプリケーションを構築する場合、

csc @project1.csc.cmdline
al @project1.al.cmdline

という感じで、C# Compiler と Assembly Linker を起動して生成する。ここで引数としてファイル名を指定せずに @FILENAME を利用しているのは、コマンドラインに入力できる文字数はそれなりに多いが十分ではなく、すべての引数を渡せない可能性があるため*1で、この手法は非常に古くから使われ続けていると思われる。
ところが、タイトルにもあるように Visual Studio .NET 2003 の場合、リンカに渡すファイル名に対して @FILENAME を利用していないようだ。
プロジェクトにファイルをどんどん追加していくと、エラーメッセージ「指定されたファイル 'FILENAME' が発見できませんでした」と共にビルドが失敗し、表示される 'FILENAME' はプロジェクトに追加されているファイルのフルパスファイル名が途中から切断された状態になっていて、試しにエラーの出ていないファイル XXX のファイル名を XX と、1文字減らしてみると、エラーメッセージに表示される文字数が1文字増える。


どう対処したものか。

*1:最近は、コマンドラインの制限よりも、コマンドラインを解析するアプリケーション側の制限のほうが厳しいという話も