Sdílet prostřednictvím


Jak: Ignorovat chyby v úkolech

Někdy chcete sestavení se chybám závad některé úkoly.Nekritické úkoly nezdaří, chcete pokračovat, protože je stále produkovat požadovaného výstupního sestavení.Projekt používá-li například SendMail úkolu odeslat e-mailovou zprávu po každé komponenty je sestavena, zvažte jeho přijatelné pro sestavení pokračovat po dokončení, i když poštovní servery nejsou k dispozici a nelze odeslat zprávy o stavu.Nebo například pokud mezilehlé soubory jsou obvykle odstraněny během sestavení, můžete zvážit je přijatelné pro sestavení pokračovat po dokončení, i když tyto soubory nelze odstranit.

Pomocí atributu atribut ContinueOnError

ContinueOnError Atribut Task element řídí, zda sestavení zastaví nebo pokračuje, dojde k selhání úlohy.Tento atribut také řídí, zda chyby jsou zpracovány jako chyby nebo varování při sestavení pokračuje.

ContinueOnError Atributu může obsahovat jednu z následujících hodnot:

  • WarnAndContinue nebo true.Při úlohy nezdaří, následné úlohy v cíl element a sestavení nadále spouštět a všechny chyby z úkolu jsou považovány za upozornění.

  • ErrorAndContinue.Když úkol selže, následné úkoly v Target element a sestavení nadále spouštět a všechny chyby z úkolu jsou považovány za chyby.

  • ErrorAndStop nebo false (výchozí).Když úkol selže, zbývající úkoly v Target element a sestavení nebudou provedeny a celou Target element a sestavení je považován za se nezdařilo.

Verze rozhraní.NET Framework před 4.5 podporována pouze true a false hodnoty.

Výchozí hodnota ContinueOnError je ErrorAndStop.Pokud nastavíte atribut ErrorAndStop, aby chování explicitní komukoliv souboru projektu.

Ignorovat chyby v úkolu

  • Použití ContinueOnError atribut úkol.Příklad:

    <Delete Files="@(Files)" ContinueOnError="WarnAndContinue"/>

Příklad

Následující příklad kódu ukazuje, že Build cíl se spustí a sestavení je považován za úspěch, i když Delete úlohy nezdaří.

<Project DefaultTargets="FakeBuild"
    xmlns="https://schemas.microsoft.com/developer/msbuild/2003">
    <ItemGroup>
        <Files Include="*.obj"/>
    </ItemGroup>
    <Target Name="Clean">
        <Delete Files="@(Files)" ContinueOnError="WarnAndContinue"/>
    </Target>

    <Target Name="FakeBuild" DependsOnTargets="Clean">
        <Message Text="Building after cleaning..."/>
    </Target>
</Project>

Viz také

Koncepty

Nástroj MSBuild úkoly

Další zdroje

MSBuild

Úloha MSBuild odkaz