2016-12-26 34 views
0

我想在我的dotnet構建命令失敗時自定義腳本。 如何獲取錯誤列表或不成功的標誌,當'dotnet構建'失敗,例如編譯錯誤,或者'dotnet測試'失敗時,使用powershell。如何知道是否從PowerShell dotnet構建命令錯誤

我想等效代碼

dotnet test 
if (!$result.Successful) { 
    $errorMessage = "" 
    if ($result.Error -ne $null) { 
     $errorMessage = $result.Error.Message 
    } 
    Write-Host "##vso[task.logissue type=error;] error" 
    Write-Host "##vso[task.complete result=Failed;]" 
    Exit -1 
} 

回答

5

您可以合併標準輸出和與>流重定向操作錯誤流,然後檢查$LASTEXITCODE自動變量,看是否調用成功與否:

# Merge all streams into stdout 
$result = dotnet test *>&1 

# Evaluate success/failure 
if($LASTEXITCODE -eq 0) 
{ 
    # Success 
} 
else 
{ 
    # Failed, you can reconstruct stderr strings with: 
    $ErrorString = $result -join [System.Environment]::NewLine 
} 
0

對我來說,它只是在PS中使用exec。

exec { dotnet build $projectFile -o $targetDir -c Release } 
相關問題