no, I'm using a simple test dll with a single exported class and no dependencies.
I just tried rebuilding and copying the dll into system32, and now it works. Must have done something dumb before, like copied an out of date version.
But VS never seems to unload the dll - if I change the dll, (+ rebuild and copy into system32), voila broken again

Process explorer shows it's loaded by devenv.exe, even if I close the solution. This reminds me of VB development 10 years ago. The horror!