MSBuild MSBuildCommunityTasks任务时间
我有一个MSBuild项目,希望将当前日期添加到我正在创建的zip文件中 我正在使用MSBuildCommunityTasksMSBuild MSBuildCommunityTasks任务时间,msbuild,msbuild-task,msbuildcommunitytasks,Msbuild,Msbuild Task,Msbuildcommunitytasks,我有一个MSBuild项目,希望将当前日期添加到我正在创建的zip文件中 我正在使用MSBuildCommunityTasks <!-- Import the CommunityTasks Helpper --> <Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets" /> 在网站上,我可以看到一个叫做时间的任务。我还没有找到关于
<!-- Import the CommunityTasks Helpper -->
<Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets" />
在网站上,我可以看到一个叫做时间的任务。我还没有找到关于如何使用时间的文件
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Deploy" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets"/>
<!-- Include MSBuild tasks here -->
<ItemGroup>
<DefaultExclude Include="****" />
</ItemGroup>
<Target Name="Deploy" >
<Time Format="yyyy-MM-dd">
<Output TaskParameter="FormattedTime" PropertyName="buildDate" />
</Time>
<Message Text="Deploying ...."></Message>
<Copy SourceFiles="@(DeploymentFiles)" DestinationFolder="C:\CCNET\$(buildDate)\bin\" />
</Target>
</Project>
所以我用
$([System.DateTime]::Now.ToString(`yyyy.MMdd`))
格式周围的那些记号是反记号而不是
”
马斯洛的回答是正确的(我不能对此发表评论,否则我会);我只想补充一点,当隐式调用System.DateTime.Parse时,您必须小心
像$([System.DateTime]::Parse(“1970-01-01T00:00:00.0000000 Z”)
这样的解析字符串值似乎不会以一种DateTimeKind.Utc
结束
但是您可以使用使其工作;如下所示(获取Unix时间戳):
$([System.DateTime]::UtcNow.Subtract($([System.DateTime]::Parse(“1970-01-01T00:00:00.0000000 Z”).ToUniversalTime()).TotalSeconds.ToString(“F0”))
MSBuild任务在您安装它的目录中包含一个CHM文件。每当我必须使用MSBuildCommunityTasks时,我总是将该文件保持打开状态。有关字符串格式的更多日期/时间,请参见:
$([System.DateTime]::Now.ToString(`yyyy.MMdd`))