Changeset 2056


Ignore:
Timestamp:
5/4/2010 7:22:46 AM (4 years ago)
Author:
lowjoel
Message:

Undo some changes in r2050 where the assembly resolution code would be removed upon loading of plugins -- this caused certain types to be unable to load and crash the program.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/eraser/Eraser.Manager/Plugins.cs

    r2050 r2056  
    143143            AppDomain.CurrentDomain.ReflectionOnlyAssemblyResolve += ResolveReflectionDependency; 
    144144 
    145             try 
    146             { 
    147                 //Load all core plugins first 
    148                 foreach (KeyValuePair<string, string> plugin in CorePlugins) 
    149                 { 
    150                     LoadCorePlugin(Path.Combine(PluginsFolder, plugin.Key), plugin.Value); 
    151                 } 
    152  
    153                 //Then load the rest 
    154                 foreach (string fileName in Directory.GetFiles(PluginsFolder)) 
    155                 { 
    156                     FileInfo file = new FileInfo(fileName); 
    157                     if (file.Extension.Equals(".dll")) 
    158                         try 
    159                         { 
    160                             LoadPlugin(file.FullName); 
    161                         } 
    162                         catch (BadImageFormatException) 
    163                         { 
    164                         } 
    165                         catch (FileLoadException) 
    166                         { 
    167                         } 
    168                 } 
    169             } 
    170             finally 
    171             { 
    172                 AppDomain.CurrentDomain.AssemblyResolve -= AssemblyResolve; 
    173                 AppDomain.CurrentDomain.ReflectionOnlyAssemblyResolve -= ResolveReflectionDependency; 
     145            //Load all core plugins first 
     146            foreach (KeyValuePair<string, string> plugin in CorePlugins) 
     147            { 
     148                LoadCorePlugin(Path.Combine(PluginsFolder, plugin.Key), plugin.Value); 
     149            } 
     150 
     151            //Then load the rest 
     152            foreach (string fileName in Directory.GetFiles(PluginsFolder)) 
     153            { 
     154                FileInfo file = new FileInfo(fileName); 
     155                if (file.Extension.Equals(".dll")) 
     156                    try 
     157                    { 
     158                        LoadPlugin(file.FullName); 
     159                    } 
     160                    catch (BadImageFormatException) 
     161                    { 
     162                    } 
     163                    catch (FileLoadException) 
     164                    { 
     165                    } 
    174166            } 
    175167        } 
Note: See TracChangeset for help on using the changeset viewer.