msbuild msbuild-task msbuildcommunitytasks

MSBuild MSBuildCommunityTasks Task Time



msbuild-task (3)

La respuesta de Maslow es correcta (no puedo comentarlo o lo haría); Solo agregaría que hay que tener cuidado al llamar implícitamente a System.DateTime.Parse.

Un valor de cadena analizado como $([System.DateTime]::Parse("1970-01-01T00:00:00.0000000Z") no parece terminar con un tipo de DateTimeKind.Utc .

Pero puedes usar funciones de propiedad anidadas para hacer que funcione; así (para obtener la marca de tiempo de Unix):

$([System.DateTime]::UtcNow.Subtract($([System.DateTime]::Parse("1970-01-01T00:00:00.0000000Z").ToUniversalTime())).TotalSeconds.ToString("F0"))

Tengo un proyecto de MSBuild y quiero que la fecha actual se agregue a un archivo zip que estoy creando.

Estoy usando las tareas de MSBuildCommunityTasks.

<!-- Import the CommunityTasks Helpper --> <Import Project="$(MSBuildExtensionsPath)/MSBuildCommunityTasks/MSBuild.Community.Tasks.Targets" />

En el sitio web http://msbuildtasks.tigris.org/ puedo ver una tarea llamada time. No he podido encontrar el documento sobre cómo usar Time.


En msbuild 4 ahora puedes

$([Namespace.Type]::Method(..parameters…)) $([Namespace.Type]::Property) $([Namespace.Type]::set_Property(value))

entonces estoy usando

$([System.DateTime]::Now.ToString(`yyyy.MMdd`))

Esas garrapatas alrededor del formato no son comillas invertidas ''


<?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>