如何在Visual Studio后期构建脚本中使用构建时间戳

时间:2014-06-11 17:45:42

标签: visual-studio msbuild

在Release目标中在Visual Studio中构建项目时,我想将我的二进制文件复制到受版本控制的版本文件夹中。 要轻松识别构建时间,请使用

形式的时间戳文件

__yyyy-MM-ddTHHmmss__

应该添加。

3 个答案:

答案 0 :(得分:9)

我使用了以下内容:

在我的项目文件的开头,我添加了一个时间戳属性:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <PropertyGroup>

    <Timestamp>$([System.DateTime]::Now.ToString("yyyy-MM-dd\THHmmss"))</Timestamp>

    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>

然后可以使用$(Timestamp)

的postbuild事件
<PostBuildEvent>
    if $(ConfigurationName) == Production (

    mkdir "$(SolutionDir)__RELEASE__\$(TargetName)"
    del /q "$(SolutionDir)__RELEASE__\$(TargetName)\*"

    echo $(Timestamp)&gt; "$(SolutionDir)__RELEASE__\$(TargetName)\__$(Timestamp)__"

    copy /Y "$(TargetDir)" "$(SolutionDir)__RELEASE__\$(TargetName)\"
    del /q "$(SolutionDir)__RELEASE__\$(TargetName)\*.tmp"
    del /q "$(SolutionDir)__RELEASE__\$(TargetName)\*.log"
    del /q "$(SolutionDir)__RELEASE__\$(TargetName)\*.err"

    TortoiseProc /command:add /path:"$(SolutionDir)__RELEASE__\"
  )
</PostBuildEvent>

答案 1 :(得分:1)

如果有人仍然在寻找这个,在Post-build事件命令行中输入Time / T效果很好。

答案 2 :(得分:0)

如果有人遇到这个问题,这对我来说就是这个伎俩:

<PropertyGroup>
    <Time>$([System.DateTime]::Now.ToString())</Time>
</PropertyGroup>
<Message Text="$(Time2)" Importance="High" />