コードがあります:
private Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
{
try
{
//TODO: this lambda-expression starts infinite loop
return Plugins.Keys.First(x => x.FullName == args.Name);
/* this code works fine
foreach (Assembly xx in Plugins.Keys)
if (xx.FullName == args.Name) return xx;
return null;
*/
}
catch
{
return null;
}
}
どうしたの?それとも、一日の終わりに私がいるのだろうか?:)
編集: コードに例外はありません。デバッガーを実行した後、Plugins.Keys.First(x => x.FullName == args.Name);を返しました。メソッドは args.Name = "System.Core.resources bla bla bla" で何度も開始されました。foreach ステートメント メソッドを使用すると、正常に返され、ループはありませんでした。アセンブリ解決の問題のようです。