From efd0aaaab561d1f2868b9d4b39fe01eafe5178e8 Mon Sep 17 00:00:00 2001 From: ranasaria <41588310+ranasaria@users.noreply.github.com> Date: Tue, 25 Sep 2018 18:09:06 -0700 Subject: [PATCH] Fix to not load microsoftsqltoolsservicelayer.dll in MicrosoftSqlToolsCredentials.exe (#699) --- .../HostLoader.cs | 5 ++++- .../Extensibility/ExtensionServiceProvider.cs | 20 +++++++++---------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/src/Microsoft.SqlTools.Credentials/HostLoader.cs b/src/Microsoft.SqlTools.Credentials/HostLoader.cs index 592dde10..6753e7f2 100644 --- a/src/Microsoft.SqlTools.Credentials/HostLoader.cs +++ b/src/Microsoft.SqlTools.Credentials/HostLoader.cs @@ -45,7 +45,10 @@ namespace Microsoft.SqlTools.Credentials.Utility { // Load extension provider, which currently finds all exports in current DLL. Can be changed to find based // on directory or assembly list quite easily in the future - ExtensionServiceProvider serviceProvider = ExtensionServiceProvider.CreateDefaultServiceProvider(); + ExtensionServiceProvider serviceProvider = ExtensionServiceProvider.CreateDefaultServiceProvider(new string[] { + "microsofsqltoolscredentials.dll", + "microsoft.sqltools.hosting.dll" + }); serviceProvider.RegisterSingleService(sqlToolsContext); serviceProvider.RegisterSingleService(serviceHost); diff --git a/src/Microsoft.SqlTools.Hosting/Extensibility/ExtensionServiceProvider.cs b/src/Microsoft.SqlTools.Hosting/Extensibility/ExtensionServiceProvider.cs index 2b69cd07..e1bf025b 100644 --- a/src/Microsoft.SqlTools.Hosting/Extensibility/ExtensionServiceProvider.cs +++ b/src/Microsoft.SqlTools.Hosting/Extensibility/ExtensionServiceProvider.cs @@ -19,6 +19,13 @@ namespace Microsoft.SqlTools.Extensibility { public class ExtensionServiceProvider : RegisteredServiceProvider { + private static readonly string[] defaultInclusionList = + { + "microsofsqltoolscredentials.dll", + "microsoft.sqltools.hosting.dll", + "microsoftsqltoolsservicelayer.dll" + }; + private Func config; public ExtensionServiceProvider(Func config) @@ -27,18 +34,11 @@ namespace Microsoft.SqlTools.Extensibility this.config = config; } - public static ExtensionServiceProvider CreateDefaultServiceProvider() + public static ExtensionServiceProvider CreateDefaultServiceProvider(string[] inclusionList = null) { // only allow loading MEF dependencies from our assemblies until we can - // better seperate out framework assemblies and extension assemblies - string[] inclusionList = - { - "microsofsqltoolscredentials.dll", - "microsoft.sqltools.hosting.dll", - "microsoftsqltoolsservicelayer.dll" - }; - - return CreateFromAssembliesInDirectory(inclusionList); + // better seperate out framework assemblies and extension assemblies + return CreateFromAssembliesInDirectory(inclusionList ?? defaultInclusionList); } ///