Yeah, now that people can pass in explicit paths I thought it better to always warn.

I see your point about the default bootstrapper but I'm also uneasy with silently swallowing this exception. All this exception tells us is that the assembly is not a managed assembly. It could be a blank file, text file, etc. which happens, by some turn of events, to have been given a .dll extension. There could also be a scenario where a managed assembly file has been corrupted in some way and therefore not used when the user expects it to be used.

Is there a reliable way of telling whether an assembly is unmanaged without trying to load it and catching this exception? If so, we could suppress those from the output by avoiding the load altogether and then let the warning output handle all other cases.