2009-07-02 35 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

相关问题