2009-07-02 55 views
8

我有一個使用PowerShell設置的文件,其中包含我的版本的版本號。我需要在MSBuild中得到這個,所以我可以在我的構建腳本中處理它。這似乎很簡單,我只想獲取文件的內容並將屬性設置爲該值。使用MSBuild,我如何設置屬性到文件的內容?

我想也許是在執行一個Exec任務,在我的文件上做一個「更多」,並且捕獲標準輸出可以做到這一點,但我似乎無法讓這個工作。看來其他人也出現了stdout和MSBuild的問題。這是我曾嘗試:

<Exec Command="more $(BuildDirectory)\version.txt" Outputs="stdout"> 
    <Output TaskParameter="Outputs" ItemName="BuildNumber" /> 
</Exec> 

回答

8

ReadLinesFromFile任務是你想要的

<ReadLinesFromFile File="Version.Txt"> 
    <Output TaskParameter="Lines" Item="BuildNumber"/> 
</ReadLinesFromFile> 

中說,另一種方法做你的問題意味着什麼是存儲你建立NUM信息在一個XML文件,用的MSBuild架構

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
<PropertyGroup> 
    <BuildNumber>10</BuildNumber> 
    <RevNumber>5</RevNumber> 
</PropertyGroup> 
</Project> 

,然後導入日e將version.properties文件導入到您的主要msbuild文件中

+0

謝謝!我找不到那個任務。僅供參考,您的第一個代碼片段中存在一些小錯誤。它是ITEMNAME而不是檔案: <輸出TaskParameter = 「行」 ITEMNAME = 「BuildNumber」/> 然後我可以訪問輸出使用「@(BuildNumber)」。 – 2009-07-02 17:17:23

相關問題