所以我用 ccnet 运行我的任务,我的任务创建文件。从 msbuild 读取文件并确定其中是否有特定值的最佳方法是什么?
最佳答案
这取决于你的文件。
多行纯文本
如果文件是这样的:
Building XXX
...
BUILD SUCCESSFUL
Total time: 38 seconds
Buildfile: file.
您可以使用 ReadLinesFromFile
读取文件,使用 CreateProperty
和 Condition
检查值。
<PropertyGroup>
<ValueToCheck>BUILD SUCCESSFUL</ValueToCheck>
</PropertyGroup>
<Target Name="CheckValue">
<ReadLinesFromFile File="@(MyTextFile)" >
<Output TaskParameter="Lines" ItemName="Value"/>
</ReadLinesFromFile>
<CreateProperty Value="true"
Condition="'%(Value.Identity)' == '$(ValueToCheck)'">
<Output TaskParameter="Value" PropertyName="ValueIsPresent" />
</CreateProperty>
</Target>
XML文件
如果文件是 Xml 格式,您可以使用 XmlPeek
(MSBuild 4) 或 XmlRead
来自 MSBuild Community Task .
关于MSBuild 在文件中查找值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3041298/