2009-05-09 16 views
4

これは有効ですか? Visual Studioで私がSLNファイル内のすべてのプロジェクトのすべての構成を構築したいMSBuildをコマンドラインからビルドするにはどうしたらよいですか?

MSBuild /t=all /configuration=all 

などのMSBuildを使用して、コマンドラインからは、2008年

私はMSBuildのを呼び出すときにそれらを指定する必要がありますする必要はありませんsln/projファイルはすべてその情報を持っています。プロジェクトファイルに設定を追加すると、ビルドスクリプトを変更したくありません。

ターゲットのために私はBuildAllを使うことができます。設定を空のままにしておくと、すべてビルドされるか、設定にも有効な「BuildALL」ですか?

EDIT

は、基本的に私はSLNまたはVCProjファイルを与えられている求めています、私はMSBuildのは、自分自身をすべての構成を反復処理し、それを構築したい、あるいはそれらを発見するいくつかのメカニズムは、私は、具体的にはありませんそれらをコマンドラインまたはスクリプトにリストします。

つまり、設定を追加または削除するときにビルドスクリプトを更新したくありません。それはやりたいことはかなり合理的なようだ。

+1

設定を追加するたびにビルドスクリプトを更新する必要はありませんが、現実的に理解してください。あなたは何回ですか? 私はあなたが必要とするすべてのターゲットを呼び出すターゲットを書くだけです。 –

+1

もう1つの問題は、私は同じコマンド/バッチファイルを使用して、私が持っているすべてのslnファイルを与えることです。私はそれらのすべてのために同じバッチファイルを使用したいと思います。私は怠惰です - 私はそれらをすべて打ち込む必要はありません。 – Tim

答えて

7

デフォルトでは、MSBuildコマンドラインオプションを使用してすべての構成をビルドすることはできません。これを行うには、新しいターゲット(VSプロジェクト)を作成する必要があります。

私はそれを行う方法は、次のとおりです。

msbuild /t:BuildAll /Configuration:"Debug;Release;ContinuousIntegration" 

私は標準のターゲットを作り、BUILDALLそれを呼び出すと、私は自動化したいすべてのプロジェクトのために、私はちょうどそのターゲットを作成し、それが依存して作ると思います自動的にビルドするすべてのターゲット。

+0

ありがとうございます。他の設定があります。静的なlibと動的など – Tim

+1

以降のバージョンのVisual Studioでは、 ':'に '='を入れ替える必要があるかもしれません。 –

関連する問題