aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Common/Kernel/BaseKernel.cs
diff options
context:
space:
mode:
authorLukePulverenti <luke.pulverenti@gmail.com>2013-02-20 21:40:36 -0500
committerLukePulverenti <luke.pulverenti@gmail.com>2013-02-20 21:40:36 -0500
commit509156cbc3497ff8daabefd3dba843f5b085701a (patch)
treeb97879f175ee1ca225354b367eb3d287dd8cd25b /MediaBrowser.Common/Kernel/BaseKernel.cs
parent767cdc1f6f6a63ce997fc9476911e2c361f9d402 (diff)
remove core plugin output from source control
Diffstat (limited to 'MediaBrowser.Common/Kernel/BaseKernel.cs')
-rw-r--r--MediaBrowser.Common/Kernel/BaseKernel.cs27
1 files changed, 25 insertions, 2 deletions
diff --git a/MediaBrowser.Common/Kernel/BaseKernel.cs b/MediaBrowser.Common/Kernel/BaseKernel.cs
index a4cd81665..616a0305c 100644
--- a/MediaBrowser.Common/Kernel/BaseKernel.cs
+++ b/MediaBrowser.Common/Kernel/BaseKernel.cs
@@ -3,7 +3,6 @@ using MediaBrowser.Common.IO;
using MediaBrowser.Common.Localization;
using MediaBrowser.Common.Mef;
using MediaBrowser.Common.Net;
-using MediaBrowser.Common.Net.Handlers;
using MediaBrowser.Common.Plugins;
using MediaBrowser.Common.ScheduledTasks;
using MediaBrowser.Common.Serialization;
@@ -17,7 +16,6 @@ using System;
using System.Collections.Generic;
using System.ComponentModel.Composition;
using System.ComponentModel.Composition.Hosting;
-using System.ComponentModel.Composition.Primitives;
using System.Deployment.Application;
using System.Diagnostics;
using System.IO;
@@ -517,6 +515,31 @@ namespace MediaBrowser.Common.Kernel
yield return pluginAssembly;
}
+ var runningDirectory = Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName);
+ var corePluginDirectory = Path.Combine(runningDirectory, "CorePlugins");
+
+ // This will prevent the .dll file from getting locked, and allow us to replace it when needed
+ pluginAssemblies = Directory.EnumerateFiles(corePluginDirectory, "*.dll", SearchOption.TopDirectoryOnly)
+ .Select(file =>
+ {
+ try
+ {
+ return Assembly.Load(File.ReadAllBytes((file)));
+ }
+ catch (Exception ex)
+ {
+ _failedPluginAssemblies.Add(file);
+ Logger.ErrorException("Error loading {0}", ex, file);
+ return null;
+ }
+
+ }).Where(a => a != null);
+
+ foreach (var pluginAssembly in pluginAssemblies)
+ {
+ yield return pluginAssembly;
+ }
+
// Include composable parts in the Model assembly
yield return typeof (SystemInfo).Assembly;