> If an assembly is loaded into the appdomain using ReflectionOnlyLoadFrom API,
> how can I change it to Assembly::LoadFrom?
You can't. Assemblies cannot move between contexts.
> Or, is it ok to load an assembly using LoadFrom even if it had already
> loaded using ReflectionOnlyLoadFrom ?
Yes. There are three contexts (four if you include "no context"):
- The load context. This is the context we all know and love, where
assemblies are probed in the usual way and dependencies are loaded.
- The load-from context. This is the context for assemblies loaded by path,
with LoadFrom() and ExecuteAssembly(). Dependencies are loaded.
- The reflection-only context. This is the context for assemblies loaded by
one of the ReflectionOnly*() methods. No dependencies are loaded and code
cannot be executed.
The rules for these contexts are given in the MSDN under
Assembly.LoadFrom(). Basically, the reflection-only context is always
separate from the rest; the load and load-from contexts are more or less
shared, but with great potential for difficulties.
The reflection-only context is still constrained by the rule that you can't
load two assemblies with the same display name but different identities into
the same context, but it won't clash with the others.

Signature
J.