ArgumentOutOfRangeException: The DateTimeOffset specified cannot be converted into a Zip file timestamp
See original GitHub issueHow Did You Get This To Happen? (Steps to Reproduce)
- Publish ASP.Net Core 3.1 project to publish directory.
- ZIP Directory
Example code:
string publishPath = "./publishDir";
string buildOutput = "./Release";
Task("Build-Example")
.Does(()=>
{
DotNetCorePublishSettings settings = new DotNetCorePublishSettings()
{
Configuration = configuration,
NoDependencies = false,
NoRestore = false,
OutputDirectory = publishPath,
MSBuildSettings = new DotNetCoreMSBuildSettings()
};
CleanDirectory(publishPath);
DotNetCorePublish("../src/ExampleAspnetCore31.csproj", settings);
Zip(publishPath, $"{buildOutput}/ExampleAspnetCore31.zip");
})
.Finally(() =>
{
DeleteDirectory(publishPath, new DeleteDirectorySettings()
{
Recursive = true,
Force = true
});
});
Output Log
Error: System.AggregateException: One or more errors occurred. ---> System.ArgumentOutOfRangeException: The DateTimeOffset specified cannot be converted into a Zip file timestamp.
Parameter name: value
at System.IO.Compression.ZipArchiveEntry.set_LastWriteTime(DateTimeOffset value)
at Cake.Common.IO.Zipper.Zip(DirectoryPath rootPath, FilePath outputPath, IEnumerable`1 paths)
at Submission#0.Zip(DirectoryPath rootPath, FilePath outputPath) in :line 2423
at Submission#0.<<Initialize>>b__0_6() in D:\Dev\QES_Portal\QESPortal\build\build.cake:line 158
at Cake.Core.CakeTaskBuilderExtensions.<>c__DisplayClass32_0.<Does>b__0(ICakeContext x)
at Cake.Core.CakeTask.<Execute>d__43.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Cake.Core.DefaultExecutionStrategy.<ExecuteAsync>d__4.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Cake.Core.CakeEngine.<ExecuteTaskAsync>d__31.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Cake.Core.CakeEngine.<ExecuteTaskAsync>d__31.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Cake.Core.CakeEngine.<ExecuteTaskAsync>d__31.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Cake.Core.CakeEngine.<RunTask>d__28.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Cake.Core.CakeEngine.<RunTargetAsync>d__27.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Cake.Scripting.BuildScriptHost.<RunTargetAsync>d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Cake.Core.Scripting.ScriptHost.RunTarget(String target)
at Submission#0.<<Initialize>>d__0.MoveNext() in D:\Dev\QES_Portal\QESPortal\build\build.cake:line 659
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.CodeAnalysis.Scripting.ScriptExecutionState.<RunSubmissionsAsync>d__9`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.CodeAnalysis.Scripting.Script`1.<RunSubmissionsAsync>d__21.MoveNext()
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at Cake.Scripting.Roslyn.RoslynScriptSession.Execute(Script script)
at Cake.Core.Scripting.ScriptRunner.Run(IScriptHost host, FilePath scriptPath, IDictionary`2 arguments)
at Cake.Commands.BuildCommand.Execute(CakeOptions options)
at Cake.CakeApplication.Run(CakeOptions options)
at Cake.Program.Main()
---> (Inner Exception #0) System.ArgumentOutOfRangeException: The DateTimeOffset specified cannot be converted into a Zip file timestamp.
Parameter name: value
at System.IO.Compression.ZipArchiveEntry.set_LastWriteTime(DateTimeOffset value)
at Cake.Common.IO.Zipper.Zip(DirectoryPath rootPath, FilePath outputPath, IEnumerable`1 paths)
at Submission#0.Zip(DirectoryPath rootPath, FilePath outputPath) in :line 2423
at Submission#0.<<Initialize>>b__0_6() in D:\Dev\QES_Portal\QESPortal\build\build.cake:line 158
at Cake.Core.CakeTaskBuilderExtensions.<>c__DisplayClass32_0.<Does>b__0(ICakeContext x)
at Cake.Core.CakeTask.<Execute>d__43.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Cake.Core.DefaultExecutionStrategy.<ExecuteAsync>d__4.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Cake.Core.CakeEngine.<ExecuteTaskAsync>d__31.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Cake.Core.CakeEngine.<ExecuteTaskAsync>d__31.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Cake.Core.CakeEngine.<ExecuteTaskAsync>d__31.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Cake.Core.CakeEngine.<RunTask>d__28.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Cake.Core.CakeEngine.<RunTargetAsync>d__27.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Cake.Scripting.BuildScriptHost.<RunTargetAsync>d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Cake.Core.Scripting.ScriptHost.RunTarget(String target)
at Submission#0.<<Initialize>>d__0.MoveNext() in D:\Dev\QES_Portal\QESPortal\build\build.cake:line 659
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.CodeAnalysis.Scripting.ScriptExecutionState.<RunSubmissionsAsync>d__9`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.CodeAnalysis.Scripting.Script`1.<RunSubmissionsAsync>d__21.MoveNext()<---
Simmilar problem https://github.com/OrchardCMS/OrchardCore/issues/4477.
My workeround
// ...
var now = DateTime.UtcNow;
foreach(var file in GetFiles($"{publishPath}/**/*.*"))
{
System.IO.File.SetLastWriteTimeUtc(file.FullPath, now);
}
Zip(publishPath, $"{buildOutput}/ExampleAspnetCore31.zip");
Issue Analytics
- State:
- Created 3 years ago
- Comments:8 (4 by maintainers)
Top Results From Across the Web
c# - NuGet pack "The DateTimeOffset specified cannot be ...
The problem is; some DLL files have invalid dates for a zip file (like 31/12/1979). You can overcome this issue by updating all...
Read more >NuGet pack "The DateTimeOffset specified cannot be ...
"The DateTimeOffset specified cannot be converted into a Zip file timestamp." It happens with nuget 4.6.2 for a .dll file that has LastWriteTime ......
Read more >Build fails with message "The DateTimeOffset specified ...
The DateTimeOffset specified cannot be converted into a Zip file timestamp. Parameter name: value at ChildProcess.
Read more >Error when publishing project - Robot
ArgumentOutOfRangeException : The DateTimeOffset specified cannot be converted into a Zip file timestamp. Parameter name: value at System.IO.
Read more >[Solved]-NuGet pack "The DateTimeOffset specified cannot be ...
Coding example for the question NuGet pack "The DateTimeOffset specified cannot be converted into a Zip file timestamp"-C#.
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Thanks @Sobieck, please mention in issue which time zone is local for you.
@Sobieck wonder if it’s a time zone issue, could you please open an new issue with what
Cake.exe --version
outputs, which OS your running and what diagnostic output gives.