-
-
Notifications
You must be signed in to change notification settings - Fork 757
Description
What You Are Seeing?
Frequent exception trying to delete a directory with 72 subdirectories with a couple subdirectories each (NuGet cache)
DeleteDirectory(nuGetCacheFolder, new DeleteDirectorySettings {Recursive = true, Force = true});
There are originally 72 folders, each with four layers deep, with the last layer having up to three folders (eg. \destructurama.jsonnet\1.2.1\lib[net452|netcoreapp1.1|netstandard2.0). When I look in the folder after a failure, most of the subdirectories have been deleted, but one or more are left, and they can be different ones. If I just run the script again, it works.
In order to make my builds more dependable, I ended up putting it in a try/catch and doing it again in the catch:
try
{
DeleteDirectory(nuGetCacheFolder, new DeleteDirectorySettings {Recursive = true, Force = true});
}
catch (Exception)
{
// It sometimes fails to delete everything, give it one more try
DeleteDirectory(nuGetCacheFolder, new DeleteDirectorySettings {Recursive = true, Force = true});
}
What is Expected?
Successful deletion of directory tree
What version of Cake are you using?
0.32.1
Are you running on a 32 or 64 bit system?
64
What environment are you running on? Windows? Linux? Mac?
Windows 10 Pro
Are you running on a CI Server? If so, which one?
Yes, but no problem there since they are to a clean workspace every build
How Did You Get This To Happen? (Steps to Reproduce)
Clean task attempts to delete local NuGet cache
Output Log
Error:
One or more errors occurred.
The directory is not empty.