/// <summary>
        /// Unloads the plugins
        /// </summary>
        public void Unload()
        {
            AppDomain.Unload(appDomain);

            remoteLoader = null;
            appDomain    = null;
        }
        /// <summary>
        /// Creates the local loader class
        /// </summary>

        /// <param name="pluginDirectory">The plugin directory</param>
        public LocalLoader(string pluginDirectory)
        {
            AppDomainSetup setup = new AppDomainSetup();

            setup.ApplicationName       = "Plugins";            //Hardcoded
            setup.ApplicationBase       = AppDomain.CurrentDomain.BaseDirectory;
            setup.PrivateBinPath        = Path.GetDirectoryName(pluginDirectory).Substring(Path.GetDirectoryName(pluginDirectory).LastIndexOf(Path.DirectorySeparatorChar) + 1);
            setup.CachePath             = Path.Combine(pluginDirectory, "cache" + Path.DirectorySeparatorChar);
            setup.ShadowCopyFiles       = "false";
            setup.ShadowCopyDirectories = pluginDirectory;

            appDomain = AppDomain.CreateDomain("Plugins", null, setup);
            appDomain.InitializeLifetimeService();

            remoteLoader = (RemoteLoader)appDomain.CreateInstanceAndUnwrap("XPluginFramework", "XPluginFramework.RemoteLoader");    //Hardcoded
            //remoteLoader = (RemoteLoader)appDomain.CreateInstanceFromAndUnwrap("XPluginFramework", "XPluginFramework.RemoteLoader");
        }