/// <summary> /// Goes through all plugins and applies appropriate action. /// </summary> public void ProcessPlugins() { if (!addins.AddinCollection.Any()) { return; } foreach (var addin in addins.AddinCollection) { switch (addin.ToolLoadType) { case LoadType.Never: RemovePlugin(addin); break; case LoadType.ThisSessionOnly: foreach (var addinPath in addin.AddInPaths) { try { m_app.LoadAddIn(addinPath); } catch (Exception e) { Log.AppendLog(LogMessageType.EXCEPTION, e.Message); } } break; case LoadType.Always: AddPlugin(addin); break; } } }
public static void LoadAddin(string addinPath) { //string asspath = Path.GetDirectoryName(path); //string addinPath = Path.Combine(asspath, addin); try { g_controlledUIApp.LoadAddIn(addinPath); } catch (Exception ex) { Metrics.AppendLog("Error loading addin: " + addinPath + " could already be loaded."); } }
public static bool LoadAddin(string addin, bool loaded) { if (loaded) { return(true); } string asspath = Path.GetDirectoryName(Utils.g_mainAssemblyPath); string path = Path.Combine(asspath, addin); try { g_controlledUIApp.LoadAddIn(path); } catch { Metrics.AppendLog("Error loading addin: " + addin); } return(true); }