I have a .exe assembly and a set of referenced assemblies that I would like to be able to deploy updated code for. I don’t need to actually change the running code, but the next time I launch the executable I would want it to pick up the updated code. Currently when I attempt to copy over the running file I get an error about the .exe being used by another process.
To summarize; how can I update the code while the .exe is in use?
It is easy to do. You can rename the file, Windows has a lock on the handle, not the directory entry for the file. Now you can just copy the update without problems. All that’s left to do is to get rid of the renamed file after your app starts up again. If necessary.