I've had quick look at this one. CC.NET just moves the file and then does not do anything with it - so assuming there is not a bug in the File.Move() method in .NET. Are you able to check if anything has locked the file (i.e. it is not open in another application).
I have added the try/catch block with the retry, although I don't think it will have much of an affect. Craig -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Ruben Willems Sent: Saturday, 6 June 2009 8:22 p.m. To: [email protected] Subject: [ccnet-user] Re: package publisher Exception on locked file Hi probably the file is not completely closed yet, due to a system cache or so, so a possible solution would be is to add a try catch around the copy mechanism. and retry after 3 seconds or so. and if this still fails, throw an error. http://jira.public.thoughtworks.org/browse/CCNET-1550 We'll look into it ... with kind regards Ruben Willems On Fri, Jun 5, 2009 at 11:05 PM, [email protected]<[email protected]> wrote: > > I am using the package publisher and I keep getting exceptions every > couple of builds. The last time it happened, I tried to manually > remove the package and it was indeed locked. Any ideas on how to > resolve? > > version : 1.5.0.4316 > > System.IO.IOException: The process cannot access the file 'D:\Sandbox > \Artifacts\TEST.zip' because it is being used by another process. > at System.IO.__Error.WinIOError(Int32 errorCode, String > maybeFullPath) > at System.IO.File.Delete(String path) > at > ThoughtWorks.CruiseControl.Core.Publishers.PackagePublisher.MoveFile > (IIntegrationResult result, String tempFile) > at ThoughtWorks.CruiseControl.Core.Publishers.PackagePublisher.Run > (IIntegrationResult result) > at ThoughtWorks.CruiseControl.Core.Project.RunTask(ITask task, > IIntegrationResult result) > at ThoughtWorks.CruiseControl.Core.Project.RunTasks > (IIntegrationResult result, IList tasksToRun, Dictionary`2 > parameterValues) > at ThoughtWorks.CruiseControl.Core.Project.Run(IIntegrationResult > result) > at ThoughtWorks.CruiseControl.Core.IntegrationRunner.Build > (IIntegrationResult result) > at ThoughtWorks.CruiseControl.Core.IntegrationRunner.Integrate > (IntegrationRequest request) > Project: TEST > > > > <package> > <name>test</name> > <compression>0</compression> > <always>true</always> > <flatten>true</flatten> > <single>true</single> > <baseDirectory>D:\BuildOutPut\Temp</baseDirectory> > <manifest type="defaultManifestGenerator" /> > <files> > <file>TEST.GZIP</file> > </files> > </package> > >
