2013-02-21 26 views
7

Ho un evento post build che sta scrivendo su un file di testo. Funziona bene quando sto costruendo il progetto da Visual Studio. Ma quando sto usando msbuild.exe l'evento Post build non sta scrivendo sul file. Sto usando msbuild con i seguenti parametri:Evento post build non funzionante con msbuild.exe

msbuild.exe TestProj.Web.csproj /p:Configuration=Release /p:OutDir=C:\TestProj\bin\ /p:WebProjectOutputDir=C:\TestProj\ /p:DebugSymbols=false /p:DebugType=None 

Il post evento costruzione assomiglia:

<PropertyGroup Condition="'$(BUILD_NUMBER)'==''"> 
    <COMPUTERNAME>None</COMPUTERNAME> 
    <BRANCH>None</BRANCH> 
    <BUILD_NUMBER>None</BUILD_NUMBER> 
    </PropertyGroup> 
    <Target Name="AfterBuild"> 
    <WriteLinesToFile File="$(ProjectDir)$(OutputPath)\VersionInfo.txt" Overwrite="true" Lines="Project&#xD;&#xA;Created On $(COMPUTERNAME)&#xD;&#xA;Branch is $(BRANCH)&#xD;&#xA;Version Is $(BUILD_NUMBER)" /> 
    </Target> 
+3

è possibile eseguire il msbuild .exe con/verbosity: diagnostica per vedere se i registri ti forniscono alcuni dettagli? o sostituire l'attività writetofile con un output della console per confermare che è stato generato. – allen

+0

Sì Il riepilogo delle prestazioni dell'attività mostra che WriteLinesToFile è stato attivato. –

+0

In tal caso viene generato l'evento di post-generazione. solo che il writelinestofile non funziona come previsto? – allen

risposta

4

ho capito risolto modificando il compito di

<WriteLinesToFile File="$(OutDir)\VersionInfo.txt" ...... /> 
+2
+3

In caso di dubbio, è possibile convertire un percorso relativo (o un valore in una variabile) in un percorso assoluto e quindi mostrarlo. Mostrerà il percorso completo per il suo tentativo di scrivere. – granadaCoder

Problemi correlati