private Assembly OnAssemblyResolve(object sender, ResolveEventArgs args)
{
var assemblyName = args.Name;
if (!_attemptedLoads.Contains(assemblyName))
{
_attemptedLoads.Add(assemblyName);
var simpleAssemblyName = TypeHelper.GetAssemblyNameWithoutOverhead(assemblyName);
Log.Debug("Checking if there is a different version loaded for '{0}' using simple assembly name '{1}'", assemblyName, simpleAssemblyName);
var possibleAssembly = (from assembly in _appDomain.GetLoadedAssemblies()
where assembly.FullName.StartsWith(simpleAssemblyName)
select assembly).FirstOrDefault();
if (possibleAssembly != null)
{
Log.Debug("Found assembly '{0}'", possibleAssembly.FullName);
return possibleAssembly;
}
}
return null;
}
}