1

ビルド プロセス テンプレートの InvokeProcess アクティビティを介して.bat ファイルを実行しています。

スクリプトが失敗しても、ビルドは続行され、成功します。その時点でビルドを失敗させるにはどうすればよいですか?

4

3 に答える 3

0

context.TrackBuildError メソッドを使用して、ビルド エラーをマークできます。

于 2014-06-10T06:44:33.420 に答える
0

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 の投稿に感謝

于 2017-12-12T05:06:50.860 に答える