- Timestamp:
- 05/30/08 13:41:27 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/3.0/sources/HeuristicLab.PluginInfrastructure/PluginManager.cs
r29 r279 103 103 setup.PrivateBinPath = pluginDir; 104 104 AppDomain applicationDomain = AppDomain.CreateDomain(appInfo.Name + " AppDomain", null, setup); 105 106 Runner remoteRunner = (Runner)applicationDomain.CreateInstanceAndUnwrap("HeuristicLab.PluginInfrastructure", "HeuristicLab.PluginInfrastructure.Runner"); 107 NotifyListeners(PluginManagerAction.Initializing, "All plugins"); 108 remoteRunner.LoadPlugins(remoteLoader.ActivePlugins); 109 NotifyListeners(PluginManagerAction.Initialized, "All plugins"); 110 remoteRunner.Run(appInfo); 111 112 AppDomain.Unload(applicationDomain); 105 try { 106 Runner remoteRunner = (Runner)applicationDomain.CreateInstanceAndUnwrap("HeuristicLab.PluginInfrastructure", "HeuristicLab.PluginInfrastructure.Runner"); 107 NotifyListeners(PluginManagerAction.Initializing, "All plugins"); 108 remoteRunner.LoadPlugins(remoteLoader.ActivePlugins); 109 NotifyListeners(PluginManagerAction.Initialized, "All plugins"); 110 remoteRunner.Run(appInfo); 111 } catch(Exception ex) { 112 // can't handle exception here -> rethrow 113 throw new ApplicationException("Exception in "+appInfo.Name, ex); 114 } finally { 115 // make sure domain is unloaded in all cases 116 AppDomain.Unload(applicationDomain); 117 } 113 118 } 114 119
Note: See TracChangeset
for help on using the changeset viewer.