2013-02-21 74 views
7

我有寫入文本文件的後期構建事件。當我從Visual Studio構建項目時它工作正常。但是當我使用msbuild.exe Post生成事件不寫入文件。我使用的MSBuild具有下列參數:發佈內容事件不能與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 

後生成事件看起來像:

<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

可以運行您的MSBuild帶有/ verbosity的.exe:診斷以查看日誌是否爲您提供了一些詳細信息?或用控制檯輸出替換writetofile任務以確認它正在被觸發。 – allen 2013-02-21 10:01:29

+0

是任務性能摘要顯示WriteLinesToFile被觸發。 – 2013-02-21 10:07:43

+0

在這種情況下,您的發佈後生成事件被觸發。只是寫入文件沒有按預期工作? – allen 2013-02-21 10:11:52

回答

4

我有它固定,通過改變任務

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

<! - 一些相對路徑 - > granadaCoder 2013-02-21 20:44:54

+3

如果有疑問,可以將相對路徑(或變量中的值)轉換爲絕對路徑,然後顯示它。它會顯示試圖寫入的完整路徑。 – granadaCoder 2013-02-21 20:45:54

相關問題