如何在MSBuild中动态更改Build目录

时间:2013-05-17 10:58:43

标签: msbuild

我遇到了一个问题我想创建每天构建在不同的文件夹意味着如果构建是在2013年7月17日创建的我希望构建在名为17/05/2013的文件夹中等等我实现了那个

1 个答案:

答案 0 :(得分:0)

使用MSBUILD 4,您可以使用Property Functions构建自定义输出文件夹。

在C#中,这将生成文件夹名称:

System.DateTime.Today.ToString("MM/dd/yyyy");

在MSBUILD中使用相同的逻辑

<Target Name="DateStampTest">
    <PropertyGroup>
        <OutputRoot>$(MSBuildThisFileDirectory)</OutputRoot>
        <DateTimeStamp>$([System.DateTime]::Today.ToString("yyyy.dd.MM"))</DateTimeStamp>
    </PropertyGroup>
    <ItemGroup>

    </ItemGroup>
    <Message Text="Override the output folder with: '$(OutputRoot)$(DateTimeStamp)'" />
</Target>

将其保存到“C:\ Test \”中的项目文件并运行msbuild / t:DateStampTest为我们提供以下输出:

1&gt;节点1上的项目“C:\ Test \”(target1 target(s))。

1&GT; Target1时:

用'C:\ Test \ 2013.17.05'

覆盖输出文件夹

1&gt;完成构建项目“C:\ Test \”(target1 target(s))。