2011-04-09 20 views
7

MSBuild başarısız olduğunda, $ LastExitCode değişkeninin değeri her zaman 0 olduğunu fark ettim. Windows 7'de, MSBuild v4.0 ve PowerShell 2.0 ile çalışıyorum. Ben çalıştırdığınızda

<?xml version="1.0" encoding="UTF-8"?> 
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0" DefaultTargets="Fail"> 
    <Target Name="Fail"> 
     <Error /> 
    </Target> 
</Project> 

: Bu benim MSBuild scritpt olduğunu MSBuild başarısız olduğunu

msbuild.exe MyProject.csproj 

ben çıktıda görebilirsiniz ama $LastExitCode kontrol ederken, bu herkes biliyor 0. değerine neler devam ediyor olabilir?

$(ErrorActionPreference) ayarını Stop olarak ayarlamayı denedim, ancak bu çalışmadı. Ben de çalışmayan yeni bir PowerShell penceresi açtım.

+3

Durumunuzu denedim ve $ LastExitCode değeri 1'dir. –

+1

Bu değişkeni kontrol etmeden önce başka bir yerel komut çalıştırıyor musunuz? – Joey

cevap

7

Son zamanlarda bir sorunla karşılaştım. Benim profilimde $ lastexitcode - güncellenen bir kod çıktı kod özel bir istemi üreteciydi. Sorununuzun profilinizde kod olup olmadığını görmek için profiliniz olmadan powershell'i "powershell -noprofile" ile çalıştırmayı deneyin.

$ değerini kontrol etmeyi düşünün mü?
$ lastexitcode sıfır değilse false ... $ lastexitcode olmasa bile benim için çalışır.

İlgili konular