是否存在任何类型的“构建计数器”或“构建开始日期”属性,该属性对于每个解决方案构建都是唯一的。
也就是说,如果您构建具有多个项目的解决方案,则解决方案中的每个项目的属性都相同。并且下次构建解决方案时属性会更改
上下文:我正在拧一些MSBuild“脚本”AKA xml。和属性是指可以在该脚本中使用的MSBuild“变量”
答案 0 :(得分:1)
您可以将自己的属性注入解决方案构建中。 因此,您可以以您需要的格式创建自己的guid或时间戳。 只需使用以前名称创建文件。 [您的解决方案文件名] .sln.targets在您的colution文件夹中。
以下是此文件的示例内容:
<!--?xml version="1.0" encoding="utf-8"?-->
<Project toolsversion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<MyBuildGuid>$([System.Guid]::NewGuid())</MyBuildGuid>
<MyBuildStartTimestamp>$([System.DateTime]::Now.ToString("yyyyMMdd-HHmmss"))</MyBuildStartTimestamp>
</PropertyGroup>
<Target Name="PrintMyPropertiesdBeforeBuild" BeforeTargets="Build">
<Message Text="MyBuildGuid before build: $(MyBuildGuid)" Importance="high" />
<Message Text="MyBuildStartTimestamp: $(MyBuildStartTimestamp)" Importance="High" />
</Target>
<Target Name="PrintMyPropertiesAfterBuild" AfterTargets="Build">
<Message Text="MyBuildGuid after build $(MyBuildGuid)" Importance="high" />
<Message Text="MyBuildStartTimestamp: $(MyBuildStartTimestamp)" Importance="High" />
</Target>
</Project>