You can't "reload" when the user selects "Re-scan for TypeConverters and .typeimports Files"?
I would think that the menu-item did something similar anyway, due to the naming (re-scan).
Then again, it probably just looks for additional things to load, not for updated versions, as the .dlls already loaded are not overwritten, as they are locked.
I considered an alternative approach, where my post-build step calls a powershell/bat file that tries to copy the dll, but silently ignores a copy error. That would remove the error message in VS, but it's ugly, and I actually don't know how well my build server setup (TeamCity) would handle it.
However, it inspired me to suggest that maybe you could do something similar: Read the .typeimports and what else, and copy the relevant dlls to LLBLGens own cache folder. Maybe you could handle unload/reload-issues "internally" that way?
Btw: I changed the dll I wanted to load enumeration types from, and experienced that llblgen kept keeping the old one locked, even after updating the typeimports file and restarting the llblgen designer. Not sure if it caches dlls to load.
So - more or less - the steps to reproduce:
- in typeimports, specify typeA, from A.dll
- copy A.dll to same folder
- point llblgen to the typeimports folder
- use typeA
- change your mind
- re-create the same type as typeB in a new project
- edit typeimports, specify typeB, from B.dll
- copy B.dll to the folder (next to A.dll)
- try to delete A.dll - it was locked
- re-scan, change to the new type from B.dll in the designer
- try to delete A.dll - it was still locked
- restart the llblgen designer
- verify only the new typeB is used (simple job, only used 1 place)
- try to delete A.dll - it was still locked
- shut down the llblgen designer
- try to delete A.dll - this time it worked