title: File.Delete error "The process cannot access the file because it is being used by another process"
body: <p>I have written a DotUnit test suite for testing some data import functionality in my application. It works by making a backup of some local Microsoft Access Database, let's call it 'Test.mdb', to 'Test.mdb.bak', performing some data import (and subsequent Assert checks) and then restoring the original from the backup.</p>
  
  <p>The SetUp() function creates a backup if one doesn't exist.</p>
  
  <p>The TearDown() function attempts to delete 'Test.mdb' and then copy 'Test.mdb.bak' to 'Test.mdb'.</p>
  
  <p>Intermittently running the tests fail with this error "The process cannot access the file because it is being used by another process".</p>
  
  <p>I've had a look the MSDN on File.Delete and IO permissions but couldn't find what I was after. Does anyone know if there is a .NET feature that will allow me to completely lock the file before attempting to delete it? Or find which process is accessing it at the time of deletion?</p>