diff --git a/MediaBrowser.Controller/Entities/IVirtualFolderCreator.cs b/MediaBrowser.Controller/Entities/IVirtualFolderCreator.cs
new file mode 100644
index 0000000000..57e9e8d5d9
--- /dev/null
+++ b/MediaBrowser.Controller/Entities/IVirtualFolderCreator.cs
@@ -0,0 +1,15 @@
+
+namespace MediaBrowser.Controller.Entities
+{
+ ///
+ /// Interface IVirtualFolderCreator
+ ///
+ public interface IVirtualFolderCreator
+ {
+ ///
+ /// Gets the folder.
+ ///
+ /// Folder.
+ BasePluginFolder GetFolder();
+ }
+}
diff --git a/MediaBrowser.Controller/Kernel.cs b/MediaBrowser.Controller/Kernel.cs
index 25a0494354..6bd48a5020 100644
--- a/MediaBrowser.Controller/Kernel.cs
+++ b/MediaBrowser.Controller/Kernel.cs
@@ -230,8 +230,7 @@ namespace MediaBrowser.Controller
/// Gets the list of BasePluginFolders added by plugins
///
/// The plugin folders.
- [ImportMany(typeof(BasePluginFolder))]
- internal IEnumerable PluginFolders { get; private set; }
+ internal IEnumerable PluginFolderCreators { get; private set; }
///
/// Gets the list of available user repositories
@@ -387,6 +386,7 @@ namespace MediaBrowser.Controller
IntroProviders = GetExports(allTypes);
PluginConfigurationPages = GetExports(allTypes);
ImageEnhancers = GetExports(allTypes);
+ PluginFolderCreators = GetExports(allTypes);
}
///
diff --git a/MediaBrowser.Controller/Library/LibraryManager.cs b/MediaBrowser.Controller/Library/LibraryManager.cs
index 4087f9ef86..dfaef12cbf 100644
--- a/MediaBrowser.Controller/Library/LibraryManager.cs
+++ b/MediaBrowser.Controller/Library/LibraryManager.cs
@@ -186,9 +186,9 @@ namespace MediaBrowser.Controller.Library
var rootFolder = Kernel.ItemRepository.RetrieveItem(rootFolderPath.GetMBId(typeof(AggregateFolder))) as AggregateFolder ?? (AggregateFolder)GetItem(rootFolderPath);
// Add in the plug-in folders
- foreach (var child in Kernel.PluginFolders)
+ foreach (var child in Kernel.PluginFolderCreators)
{
- rootFolder.AddVirtualChild(child);
+ rootFolder.AddVirtualChild(child.GetFolder());
}
return rootFolder;
diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
index 26107b9c9e..cfd14f2b71 100644
--- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj
+++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
@@ -95,6 +95,7 @@
+
diff --git a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj
index 91ca577a71..85efe04f18 100644
--- a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj
+++ b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj
@@ -389,9 +389,9 @@
-
-
-
+
+
+