Fix to not load microsoftsqltoolsservicelayer.dll in MicrosoftSqlToolsCredentials.exe (#699)

This commit is contained in:
ranasaria
2018-09-25 18:09:06 -07:00
committed by GitHub
parent 335e9fb38c
commit efd0aaaab5
2 changed files with 14 additions and 11 deletions

View File

@@ -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 // 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 // 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(sqlToolsContext);
serviceProvider.RegisterSingleService(serviceHost); serviceProvider.RegisterSingleService(serviceHost);

View File

@@ -19,6 +19,13 @@ namespace Microsoft.SqlTools.Extensibility
{ {
public class ExtensionServiceProvider : RegisteredServiceProvider public class ExtensionServiceProvider : RegisteredServiceProvider
{ {
private static readonly string[] defaultInclusionList =
{
"microsofsqltoolscredentials.dll",
"microsoft.sqltools.hosting.dll",
"microsoftsqltoolsservicelayer.dll"
};
private Func<ConventionBuilder, ContainerConfiguration> config; private Func<ConventionBuilder, ContainerConfiguration> config;
public ExtensionServiceProvider(Func<ConventionBuilder, ContainerConfiguration> config) public ExtensionServiceProvider(Func<ConventionBuilder, ContainerConfiguration> config)
@@ -27,18 +34,11 @@ namespace Microsoft.SqlTools.Extensibility
this.config = config; 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 // only allow loading MEF dependencies from our assemblies until we can
// better seperate out framework assemblies and extension assemblies // better seperate out framework assemblies and extension assemblies
string[] inclusionList = return CreateFromAssembliesInDirectory(inclusionList ?? defaultInclusionList);
{
"microsofsqltoolscredentials.dll",
"microsoft.sqltools.hosting.dll",
"microsoftsqltoolsservicelayer.dll"
};
return CreateFromAssembliesInDirectory(inclusionList);
} }
/// <summary> /// <summary>