@@ -220,9 +220,9 @@ private static StaticWebAsset FromTaskItemCore(ITaskItem item) =>
220
220
CopyToPublishDirectory = item . GetMetadata ( nameof ( CopyToPublishDirectory ) ) ,
221
221
OriginalItemSpec = item . GetMetadata ( nameof ( OriginalItemSpec ) ) ,
222
222
FileLength = item . GetMetadata ( "FileLength" ) is string fileLengthString &&
223
- long . TryParse ( fileLengthString , out var fileLength ) ? fileLength : - 1 ,
223
+ long . TryParse ( fileLengthString , NumberStyles . Integer , CultureInfo . InvariantCulture , out var fileLength ) ? fileLength : - 1 ,
224
224
LastWriteTime = item . GetMetadata ( "LastWriteTime" ) is string lastWriteTimeString &&
225
- DateTimeOffset . TryParse ( lastWriteTimeString , out var lastWriteTime ) ? lastWriteTime : DateTimeOffset . MinValue
225
+ DateTimeOffset . TryParse ( lastWriteTimeString , CultureInfo . InvariantCulture , DateTimeStyles . None , out var lastWriteTime ) ? lastWriteTime : DateTimeOffset . MinValue
226
226
} ;
227
227
228
228
public void ApplyDefaults ( )
@@ -485,6 +485,13 @@ public void Normalize()
485
485
BasePath = Normalize ( BasePath ) ;
486
486
RelativePath = Normalize ( RelativePath , allowEmpyPath : true ) ;
487
487
RelatedAsset = ! string . IsNullOrEmpty ( RelatedAsset ) ? Path . GetFullPath ( RelatedAsset ) : RelatedAsset ;
488
+
489
+ if ( FileLength < 0 || LastWriteTime == DateTimeOffset . MinValue )
490
+ {
491
+ var file = ResolveFile ( Identity , OriginalItemSpec ) ;
492
+ FileLength = file . Length ;
493
+ LastWriteTime = file . LastWriteTimeUtc ;
494
+ }
488
495
}
489
496
490
497
// Normalizes the given path to a content root path in the way we expect it:
0 commit comments