有一个代码:
    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 语句方法成功返回并且没有循环时。这似乎是装配解决问题。