Another solution which I have used is to read the assembly into a MemoryStream. Then use the overloaded Assembly.Load() method that takes a byte array and pass it MemoryStream.GetBuffer().
Using this method you may have to hook the AppDomain.OnAssemblyResolve event to resolve additional assembly references for your assembly that was loaded into memory. You can read messages from the Advanced DOTNET archive, unsubscribe from Advanced DOTNET, or subscribe to other DevelopMentor lists at http://discuss.develop.com.
