It sounds like you're tryitg to perform "live" updates without having to stop the service and restart.
0) One alternative is to have the service monitor the install folder for changes to referenced DLLs, and have it restart itself when it detects a change.This would eliminate the need to load DLLs manually.
1) Look into using MAF or MEF -
Google Search - "c# MAF"[
^]