Msbuild 如何在生成后事件中定义当前系统日期

Msbuild 如何在生成后事件中定义当前系统日期,msbuild,Msbuild,我想将.dll复制到格式为“test\Project\u yyyy.mm.dd”的目标目录中 其中yyyy-年,mm-当月,dd-当前日期。 当我在编译后事件中发出以下命令时,我得到了一个错误 xcopy /Y "$(TargetDir)*.*" test\Project_$(Year:yyyy).$(Month).$(DayOfMonth) 我找不到任何定义当前日期的宏。有人能帮我一下吗。你可以用它来调用一些.Net API。您可以使用System.DateTime.Now获取当前时间,然后

我想将.dll复制到格式为“test\Project\u yyyy.mm.dd”的目标目录中 其中yyyy-年,mm-当月,dd-当前日期。 当我在编译后事件中发出以下命令时,我得到了一个错误

xcopy /Y "$(TargetDir)*.*" test\Project_$(Year:yyyy).$(Month).$(DayOfMonth)
我找不到任何定义当前日期的宏。有人能帮我一下吗。

你可以用它来调用一些.Net API。您可以使用System.DateTime.Now获取当前时间,然后获取年/月/日作为此对象的属性

以下是执行此操作的代码:

<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <CurrentYear>$([System.DateTime]::Now.Year)</CurrentYear>
    <CurrentMonth>$([System.DateTime]::Now.Month)</CurrentMonth>
    <CurrentDay>$([System.DateTime]::Now.Day)</CurrentDay>
  </PropertyGroup>

  <Target Name="Print">
    <Message Text="Year: $(CurrentYear)" />
    <Message Text="Month: $(CurrentMonth)" />
    <Message Text="Day: $(CurrentDay)" />
  </Target>
</Project>

$([System.DateTime]::Now.Year)
$([System.DateTime]::Now.Month)
$([System.DateTime]::Now.Day)

我提到了我在哪里得到了一些有用的信息。但我希望即使我在构建服务器中部署它也能正常工作谢谢,这对我很有帮助。我现在可以调用.ToString(“你的格式”)来获取更复杂的格式。