バッチファイル内に複数の.slnファイルを作成しようとしています。これまでのところすべて素晴らしいです。私は、バッチファイル内のチェックを追加しようとしているので、エラーの数が0より大きい場合、バッチファイルは実行を停止し、次の.slnファイルは作成されません。どうやってやるの?基本的には何かのように:Visual Studio、MS Build
のMSBuild test.sln (もしビルドエラー> 0 停止を確認してください) のMSBuild test2.sln
バッチファイル内に複数の.slnファイルを作成しようとしています。これまでのところすべて素晴らしいです。私は、バッチファイル内のチェックを追加しようとしているので、エラーの数が0より大きい場合、バッチファイルは実行を停止し、次の.slnファイルは作成されません。どうやってやるの?基本的には何かのように:Visual Studio、MS Build
のMSBuild test.sln (もしビルドエラー> 0 停止を確認してください) のMSBuild test2.sln
MSBUILDはERRORLEVELを設定し、程度の線に沿って何かます:
msbuild test.sln
IF NOT ERRORLEVEL 0 exit 1
編集:どうやら、それは次のようになります。
msbuild test.sln
IF ERRORLEVEL 1 exit 1
msbuild.exe test.sln
if errorlevel 1 goto :errors
msbuild.exe test2.sln
if errorlevel 1 goto :errors
:: ...
:: Everything was fine.
echo Build completed without errors.
goto :eof
:error
echo Build failed.
常に1が返ってくるかどうかわからないのですか? IF [NOT] ERRORLEVEL番号コマンドの最後のプログラムの実行 に等しいか、終了コードを返した場合 ERRORLEVEL番号が真の条件を指定:ERRORLEVEL 1 はERRORLEVELが1か_higher_ある場合はtrueになりそうでない場合は0が –
より安全かもしれません数が より大きい。 –
ここでは、カスタムmsbuildファイルを使用して、ソリューションのセットでmsbuildタスクを使用するほうがはるかに簡単です。詳細については、hereを参照してください。
"errorlevel 0でない"は常にfalseです。 "errorlevel 0"は常にtrueです。 –
これは私のために働いていないようです。 MSBuildは、エラーがあるかどうかにかかわらず常にエラーレベル0を返します。 – Phil