X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=mcs%2Fclass%2FMicrosoft.Build.Tasks%2FMicrosoft.Build.Tasks%2FRemoveDir.cs;h=00755fc449666dea161d6df4359bd5751acaba99;hb=a2850fc7dae0cf969b5d680a20496ac16526dcb8;hp=f1aaac7f1c03da0042ee564a71b0e3a948927108;hpb=9869ae24b88761ab261c4311e24f7383b4af3f02;p=mono.git diff --git a/mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks/RemoveDir.cs b/mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks/RemoveDir.cs index f1aaac7f1c0..00755fc4496 100644 --- a/mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks/RemoveDir.cs +++ b/mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks/RemoveDir.cs @@ -45,30 +45,18 @@ namespace Microsoft.Build.Tasks { public override bool Execute () { + if (directories.Length == 0) + return true; + List temporaryRemovedDirectories = new List (); foreach (ITaskItem directory in directories) { try { - Directory.Delete (directory.GetMetadata ("FullPath"), true); - temporaryRemovedDirectories.Add (directory); - } - catch (DirectoryNotFoundException ex) { - Log.LogErrorFromException (ex); - } - catch (PathTooLongException ex) { - Log.LogErrorFromException (ex); - } - catch (ArgumentNullException ex) { - Log.LogErrorFromException (ex); - } - catch (ArgumentException ex) { - Log.LogErrorFromException (ex); - } - catch (IOException ex) { - Log.LogErrorFromException (ex); - } - catch (SecurityException ex) { - Log.LogErrorFromException (ex); + string fullpath = directory.GetMetadata ("FullPath"); + if (Directory.Exists (fullpath)) { + Directory.Delete (fullpath, true); + temporaryRemovedDirectories.Add (directory); + } } catch (Exception ex) { Log.LogErrorFromException (ex); @@ -102,4 +90,4 @@ namespace Microsoft.Build.Tasks { } } -#endif \ No newline at end of file +#endif