Browse Source

Remove the dependency check in release builds for faster starting.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@646 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 20 years ago
parent
commit
9d8304c624
  1. 8
      src/Main/Base/Project/Src/Commands/AutostartCommands.cs
  2. 11
      src/Main/Core/Project/Src/AddInTree/AddIn/Runtime.cs
  3. 4
      src/Main/Core/Project/Src/Services/ResourceService/ResourceService.cs
  4. 9
      src/Main/StartUp/Project/SharpDevelopMain.cs

8
src/Main/Base/Project/Src/Commands/AutostartCommands.cs

@ -23,14 +23,6 @@ using ICSharpCode.SharpDevelop.Dom;
namespace ICSharpCode.SharpDevelop.Commands namespace ICSharpCode.SharpDevelop.Commands
{ {
public class InitializeWorkbenchCommand : AbstractCommand
{
public override void Run()
{
WorkbenchSingleton.InitializeWorkbench();
}
}
public class StartWorkbenchCommand // : AbstractCommand public class StartWorkbenchCommand // : AbstractCommand
{ {
const string workbenchMemento = "WorkbenchMemento"; const string workbenchMemento = "WorkbenchMemento";

11
src/Main/Core/Project/Src/AddInTree/AddIn/Runtime.cs

@ -28,7 +28,7 @@ namespace ICSharpCode.Core
} }
public string Assembly { public string Assembly {
get { get {
return assembly; return assembly;
} }
} }
@ -49,7 +49,10 @@ namespace ICSharpCode.Core
loadedAssembly = System.Reflection.Assembly.LoadFrom(Path.Combine(hintPath, assembly)); loadedAssembly = System.Reflection.Assembly.LoadFrom(Path.Combine(hintPath, assembly));
} }
loadedAssembly.GetExportedTypes(); // preload assembly to provoke FileLoadException if dependencies are missing #if DEBUG
// preload assembly to provoke FileLoadException if dependencies are missing
loadedAssembly.GetExportedTypes();
#endif
} catch (FileNotFoundException ex) { } catch (FileNotFoundException ex) {
MessageService.ShowError("The addin '" + assembly + "' could not be loaded:\n" + ex.ToString()); MessageService.ShowError("The addin '" + assembly + "' could not be loaded:\n" + ex.ToString());
} catch (FileLoadException ex) { } catch (FileLoadException ex) {
@ -61,13 +64,13 @@ namespace ICSharpCode.Core
} }
public List<Properties> DefinedDoozers { public List<Properties> DefinedDoozers {
get { get {
return definedDoozers; return definedDoozers;
} }
} }
public List<Properties> DefinedConditionEvaluators { public List<Properties> DefinedConditionEvaluators {
get { get {
return definedConditionEvaluators; return definedConditionEvaluators;
} }
} }

4
src/Main/Core/Project/Src/Services/ResourceService/ResourceService.cs

@ -33,8 +33,10 @@ namespace ICSharpCode.Core
static string resourceDirectory; static string resourceDirectory;
static ResourceService() public static void InitializeService()
{ {
if (resourceDirectory != null)
throw new InvalidOperationException("Service is already initialized.");
resourceDirectory = FileUtility.Combine(PropertyService.DataDirectory, "resources"); resourceDirectory = FileUtility.Combine(PropertyService.DataDirectory, "resources");
PropertyService.PropertyChanged += new PropertyChangedEventHandler(OnPropertyChange); PropertyService.PropertyChanged += new PropertyChangedEventHandler(OnPropertyChange);

9
src/Main/StartUp/Project/SharpDevelopMain.cs

@ -162,6 +162,10 @@ namespace ICSharpCode.SharpDevelop
MessageService.CustomErrorReporter = ShowErrorBox; MessageService.CustomErrorReporter = ShowErrorBox;
#endif #endif
LoggingService.Info("Loading properties...");
PropertyService.Load();
ResourceService.InitializeService();
Assembly exe = typeof(SharpDevelopMain).Assembly; Assembly exe = typeof(SharpDevelopMain).Assembly;
ResourceService.RegisterNeutralStrings(new ResourceManager("Resources.StringResources", exe)); ResourceService.RegisterNeutralStrings(new ResourceManager("Resources.StringResources", exe));
ResourceService.RegisterNeutralImages(new ResourceManager("Resources.BitmapResources", exe)); ResourceService.RegisterNeutralImages(new ResourceManager("Resources.BitmapResources", exe));
@ -217,9 +221,6 @@ namespace ICSharpCode.SharpDevelop
static void InitializeCore() static void InitializeCore()
{ {
LoggingService.Info("Loading properties...");
PropertyService.Load();
StringParser.RegisterStringTagProvider(new SharpDevelopStringTagProvider()); StringParser.RegisterStringTagProvider(new SharpDevelopStringTagProvider());
LoggingService.Info("Loading AddInTree..."); LoggingService.Info("Loading AddInTree...");
@ -228,7 +229,7 @@ namespace ICSharpCode.SharpDevelop
LoggingService.Info("Initializing workbench..."); LoggingService.Info("Initializing workbench...");
// .NET base autostarts // .NET base autostarts
// taken out of the add-in tree for performance reasons (every tick in startup counts) // taken out of the add-in tree for performance reasons (every tick in startup counts)
new InitializeWorkbenchCommand().Run(); WorkbenchSingleton.InitializeWorkbench();
// run workspace autostart commands // run workspace autostart commands
try { try {

Loading…
Cancel
Save