我从我的TFS团队构建中读取了一个内部版本号,它看起来像“AB-1.2.3.4-CDE-REV.1”。我想编辑这个数字并删除最后一个小数点,使其看起来像“AB-1.2.3.4-CDE-REV1”。
答案 0 :(得分:0)
通常,当您想在msbuild中操作字符串时,您希望使用Property Functions。在您阅读的文档中,您可以使用字符串函数,因此接下来要确定您需要哪些System.String方法。在这种情况下:LastIndexOf和Remove应该可以解决问题:
<!-- BuildNumber property is fetched elsewhere -->
<PropertyGroup>
<BuildNumber>AB-1.2.3.4-CDE-REV.1</BuildNumber>
</BuildNumber>
<Target Name="ManipulateBuildNumber">
<PropertyGroup>
<BuildNumber>$(BuildNumber.Remove($(BuildNumber.LastIndexOf('.')),1))</BuildNumber>
</PropertyGroup>
<Message Text="New build number is $(BuildNumber)" />
</Target>
答案 1 :(得分:0)
感谢解决方案的坚持。有用。我已经想出了另一种蹩脚而粗暴的做法。
<BuildNumber>AB-1.2.3.4-CDE-REV.1</BuildNumber>
<Part1>$(BuildNumber.Split('.')[0])</Part1>
<Part2>$(BuildNumber.Split('.')[1])</Part2>
<Part3>$(BuildNumber.Split('.')[2])</Part3>
<Part4>$(BuildNumber.Split('.')[3])</Part4>
<Part5>$(BuildNumber.Split('.')[4])</Part5>
<BuildNumber>$(Part1).$(Part2).$(Part3).$(Part4)$(Part5)</BuildNumber>