我有一个MSBuild项目,我希望将当前日期添加到我正在创建的压缩文件中。
我正在使用MSBuildCommunityTasks。
<!-- Import the CommunityTasks Helpper -->
<Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets" />在http://msbuildtasks.tigris.org/网站上,我可以看到一个叫做时间的任务。我还没能找到关于如何使用时间的医生。
发布于 2011-07-12 05:04:16
In msbuild 4 you can now
$([Namespace.Type]::Method(..parameters…))
$([Namespace.Type]::Property)
$([Namespace.Type]::set_Property(value))所以我正在使用
$([System.DateTime]::Now.ToString(`yyyy.MMdd`))格式周围的标记是反标记,而不是'
发布于 2009-05-18 14:38:09
<?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>发布于 2016-10-13 00:28:20
Maslow的回答是正确的(我不能评论它,或者我会评论它);我只想补充一句,当隐式调用System.DateTime.Parse时,您必须小心。
像$([System.DateTime]::Parse("1970-01-01T00:00:00.0000000Z")这样的解析字符串值似乎不会以某种DateTimeKind.Utc结尾。
但您可以使用nested property functions使其工作;如下所示(以获取Unix时间戳):
$([System.DateTime]::UtcNow.Subtract($([System.DateTime]::Parse("1970-01-01T00:00:00.0000000Z").ToUniversalTime())).TotalSeconds.ToString("F0"))
https://stackoverflow.com/questions/878037
复制相似问题