AppDomain.AssemblyResolve
とAppDomain.ReflectionOnlyAssemblyResolve
イベントにフックすることで、いくつかのモジュールを読み込もうとしています。私が前者を働かせている間、私は後者に悲惨に失敗します。私は、この小さなプログラムにまで私の問題を煮ました:Assembly.ReflectionOnlyLoad
にしようとしたときにこのプログラムを実行するAssembly.ReflectionOnlyLoadを試すときにReflectionOnlyAssemblyResolveが実行されないのはなぜですか?
public static class AssemblyLoader
{
static void Main(string[] args)
{
AppDomain.CurrentDomain.ReflectionOnlyAssemblyResolve +=
ReflectionOnlyAssemblyResolve;
// fails with FileNotFoundException
Assembly.ReflectionOnlyLoad("Foo");
}
public static Assembly ReflectionOnlyAssemblyResolve(object sender,
ResolveEventArgs args)
{
Trace.TraceInformation(
"Failed resolving Assembly {0} for reflection", args.Name);
return null;
}
}
はFileNotFoundException
で失敗したが、それはReflectionOnlyAssemblyResolveハンドラを呼び出すことはありません。私はそこでかなり困惑している。
誰かがこれの根本的な原因となる可能性があり、これを動作させる方法を知っていますか?
ありがとうございます!
アセンブリの反射のみの読み込みで失敗した試行を傍受する方法はありますか? – derabbink
@derabbinkそれは別の質問です、私は想像します。 – casperOne