I have a file copying program and I have a custom class that utilizes a System.IO.FileSteam to copy a file to a destination computer. For the most part it works quite well. However I use it to copy to many remote locations. Some of them have subpar network connections. Every so often I'll get a server that has a unreliable network connection and it will momentarily drop off the network for a few seconds. When this happens my FileStream breaks with the exception "The specified network name is no longer available.". This is expected.
However the problem is after the program has waited 60 seconds it will retry the transfer. The problem now is it can't even start because I get the error "The process cannot access the file '\\MyServer\c$\MyFile.zip' because it is being used by another process". I'll continue to get this error indefinitely until I close the program and restart the transfer, then it is able to transfer once again.
It would appear that my source server still has a file handle open when this happens that's preventing the transfer again and closing the program releases it. I would like to programically release the handle so I can restart the transfer automatically.
Here's what I've tried so far:
When the file transfer is started, I grab the FileSteam.SafeFileHandle to a variable. When I get the above error, I've tried accessing SafeFileHandle.SetHandleAsInvalid(), SafeFileHandle.DangerousRelease() and SafeFileHandle.Close(), but I'll still get the file in use error when I retry.
OneDrive for Mac now lets you sync files to removable drives by Taras Buria
If you use OneDrive on Mac and often work with external drives (a common sight among Mac users where internal storage is not upgradeable), Microsoft has some good news for you: the OneDrive client for macOS now supports removable drives, allowing you to sync files to external disks, both non-removable and removable.
Microsoft introduced external drive support in OneDrive for Mac at the beginning of 2025. However, the initial rollout was limited to drives that macOS detects as non-removable. The company received plenty of feedback from users regarding this change, and it is now addressing the inability to sync files to removable drives.
External drive support in OneDrive works the same way as syncing files to internal storage. If you unplug your drive, say, a portable SSD, OneDrive will stop syncing and notify you with an error message (there is a short delay for drives that sporadically disconnect). To resume sync, reconnect your drive and restart OneDrive.
If you want to sync OneDrive to an external drive, your drive should be formatted for APFS (Apple File System) and protected by FileVault (read-only, network, and quarantined drives are not supported). Also, you need macOS version 15.0 or newer and OneDrive version 25.097 or newer. For now, external drive support is only available for insiders, but a wider rollout is coming soon.
Finally, Microsoft adds that external drive support does not allow moving drives between devices. Therefore, you must set up OneDrive sync again every time you connect your drive to a new Mac. You can read more about external drive support in OneDrive for Mac in a post on the official Tech Community website.
In other OneDrive news, check out our recently published guide, which details how to change OneDrive folder colors for extra personalization.
I'm here for it!
Bill Pullman & Rick Moranis Returning For New ‘Spaceballs’; Keke Palmer Also Set https://deadline.com/2025/06/spaceballs-2-casts-rick-moranis-bill-pullman-keke-palmer-1236431204/
It's gonna be epic!
Question
stumper66
Hello,
I have a file copying program and I have a custom class that utilizes a System.IO.FileSteam to copy a file to a destination computer. For the most part it works quite well. However I use it to copy to many remote locations. Some of them have subpar network connections. Every so often I'll get a server that has a unreliable network connection and it will momentarily drop off the network for a few seconds. When this happens my FileStream breaks with the exception "The specified network name is no longer available.". This is expected.
However the problem is after the program has waited 60 seconds it will retry the transfer. The problem now is it can't even start because I get the error "The process cannot access the file '\\MyServer\c$\MyFile.zip' because it is being used by another process". I'll continue to get this error indefinitely until I close the program and restart the transfer, then it is able to transfer once again.
It would appear that my source server still has a file handle open when this happens that's preventing the transfer again and closing the program releases it. I would like to programically release the handle so I can restart the transfer automatically.
Here's what I've tried so far:
When the file transfer is started, I grab the FileSteam.SafeFileHandle to a variable. When I get the above error, I've tried accessing SafeFileHandle.SetHandleAsInvalid(), SafeFileHandle.DangerousRelease() and SafeFileHandle.Close(), but I'll still get the file in use error when I retry.
Link to comment
https://www.neowin.net/forum/topic/1204735-filestream-the-process-cannot-access-the-file/Share on other sites
12 answers to this question
Recommended Posts