Aze*_*Aze 2 c# msbuild visual-studio
这样做的目标是将构建版本设置为构建日期的时间戳。我使用一个Directory.Build.props文件来设置项目属性,其中有以下内容:
<PropertyGroup>
<Version>$([System.DateTime]::Now.Month).$([System.DateTime]::Now.Day).$([System.DateTime]::Now.Year)</Version>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
这工作得很好,但我想通过添加一天中经过的总秒数来提高时间戳的分辨率。
我可以通过执行以下操作相当轻松地获得该值$([System.DateTime]::Now.TimeOfDay.TotalSeconds),但这是一个 Double 并且版本需要 UInt16 - 1。
我想我可以通过执行以下操作转换为 UInt16 $([System.Convert]::ToUInt16( theAboveExpression )):
但是,双精度数可能太大,因此我需要先将其除以,但我根本不知道如何执行此操作。到目前为止,我最好的尝试就是盲目挥舞,因为我似乎找不到任何这样的例子:
$( $([System.DateTime]::Now.TimeOfDay.TotalSeconds) / 2 )
这个表达式无法被评估,我该如何实现呢?
当然,在决定寻求帮助后不久,我就明白了......
MSBuild 包括MSBuild 属性函数,可用于划分事物并执行其他操作。这是一个按我需要执行的工作代码示例:
<Version>
$([System.DateTime]::Now.Month).
$([System.DateTime]::Now.Day).
$([System.DateTime]::Now.Year).
$([System.Convert]::ToUInt16(
$([MSBuild]::Divide(
$([System.DateTime]::Now.TimeOfDay.TotalSeconds),
2
))
))
</Version>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1019 次 |
| 最近记录: |