Author: bodewig
Date: Mon Mar 30 05:58:46 2015
New Revision: 1669998

URL: http://svn.apache.org/r1669998
Log:
prefer locally loaded type over one loaded from GAC

Modified:
    logging/log4net/trunk/src/log4net/Util/SystemInfo.cs

Modified: logging/log4net/trunk/src/log4net/Util/SystemInfo.cs
URL: 
http://svn.apache.org/viewvc/logging/log4net/trunk/src/log4net/Util/SystemInfo.cs?rev=1669998&r1=1669997&r2=1669998&view=diff
==============================================================================
--- logging/log4net/trunk/src/log4net/Util/SystemInfo.cs (original)
+++ logging/log4net/trunk/src/log4net/Util/SystemInfo.cs Mon Mar 30 05:58:46 
2015
@@ -686,17 +686,29 @@ namespace log4net.Util
 
                                if (loadedAssemblies != null)
                                {
+                                       Type fallback = null;
                                        // Search the loaded assemblies for the 
type
                                        foreach (Assembly assembly in 
loadedAssemblies) 
                                        {
-                                               type = 
assembly.GetType(typeName, false, ignoreCase);
-                                               if (type != null)
+                                               Type t = 
assembly.GetType(typeName, false, ignoreCase);
+                                               if (t != null)
                                                {
                                                        // Found type in loaded 
assembly
                                                        
LogLog.Debug(declaringType, "Loaded type ["+typeName+"] from assembly 
["+assembly.FullName+"] by searching loaded assemblies.");
-                                                       return type;
+                                                        if 
(assembly.GlobalAssemblyCache)
+                                                        {
+                                                            fallback = t;
+                                                        }
+                                                        else
+                                                        {
+                                                            return t;
+                                                        }
                                                }
                                        }
+                                        if (fallback != null)
+                                        {
+                                            return fallback;
+                                        }
                                }
 
                                // Didn't find the type


Reply via email to