ビルド プロセス テンプレートの InvokeProcess アクティビティを介して.bat ファイルを実行しています。
スクリプトが失敗しても、ビルドは続行され、成功します。その時点でビルドを失敗させるにはどうすればよいですか?
ビルド プロセス テンプレートの InvokeProcess アクティビティを介して.bat ファイルを実行しています。
スクリプトが失敗しても、ビルドは続行され、成功します。その時点でビルドを失敗させるにはどうすればよいですか?
context.TrackBuildError メソッドを使用して、ビルド エラーをマークできます。
MSBUILD を使用してバット ファイルを呼び出すことができます。終了コードを使用すると、バット ファイルが失敗したときにビルドを失敗させることができます。
MSBuild ファイル wrapper.proj
<Project DefaultTargets="Demo" ToolsVersion="3.5"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<BatchFile>test.bat</BatchFile>
<FromMSBuild>FromMSBuild</FromMSBuild>
<build_configurations></build_configurations>
</PropertyGroup>
<Target Name="Demo">
<Message Text="Executing batch file $(BatchFile)" Importance="high"/>
<PropertyGroup>
<_Command>$(BatchFile) $(build_configurations) </_Command>
</PropertyGroup>
<Exec Command="$(_Command)">
<Output PropertyName="CommandExitCode" TaskParameter="ExitCode"/>
</Exec>
<Message Text="CommandExitCode: $(CommandExitCode)"/>
</Target>
</Project>
test.bat
ECHO OFF
IF (%1)==() goto Start
SET fromMSBuild=1
:Start
ECHO fromMSBuild:%fromMSBuild%
REM ***** Perform your actions here *****
set theExitCode=101
GOTO End
:End
IF %fromMSBuild%==1 exit %theExitCode%
REM **** Not from MSBuild ****
ECHO Exiting with exit code %theExitCode%
exit /b %theExitCode%
@Sayed Ibrahim Hashimi の投稿に感謝