diff --git a/src/GitHub.VisualStudio/GitHub.VisualStudio.csproj b/src/GitHub.VisualStudio/GitHub.VisualStudio.csproj index 7193457c06..7a4520c80c 100644 --- a/src/GitHub.VisualStudio/GitHub.VisualStudio.csproj +++ b/src/GitHub.VisualStudio/GitHub.VisualStudio.csproj @@ -210,9 +210,7 @@ - - Helpers\SharedDictionaryManager.cs - + diff --git a/src/GitHub.VisualStudio/GitHubPackage.cs b/src/GitHub.VisualStudio/GitHubPackage.cs index 06be556f08..4a4c72dc75 100644 --- a/src/GitHub.VisualStudio/GitHubPackage.cs +++ b/src/GitHub.VisualStudio/GitHubPackage.cs @@ -53,6 +53,12 @@ public class GitHubPackage : Package }; readonly IServiceProvider serviceProvider; + static bool resolverInitialized; + + static GitHubPackage() + { + InitializeAssemblyResolver(); + } public GitHubPackage() { @@ -64,10 +70,16 @@ public GitHubPackage(IServiceProvider serviceProvider) this.serviceProvider = serviceProvider; } - protected override void Initialize() + public static void InitializeAssemblyResolver() { + if (resolverInitialized) + return; AppDomain.CurrentDomain.AssemblyResolve += LoadAssemblyFromRunDir; + resolverInitialized = true; + } + protected override void Initialize() + { base.Initialize(); IncrementLaunchCount(); diff --git a/src/common/SharedDictionaryManager.cs b/src/GitHub.VisualStudio/Helpers/SharedDictionaryManager.cs similarity index 87% rename from src/common/SharedDictionaryManager.cs rename to src/GitHub.VisualStudio/Helpers/SharedDictionaryManager.cs index 5085aaa0b0..40a41467bd 100644 --- a/src/common/SharedDictionaryManager.cs +++ b/src/GitHub.VisualStudio/Helpers/SharedDictionaryManager.cs @@ -6,6 +6,11 @@ namespace GitHub.VisualStudio.Helpers { public class SharedDictionaryManager : ResourceDictionary { + static SharedDictionaryManager() + { + GitHubPackage.InitializeAssemblyResolver(); + } + static readonly Dictionary resourceDicts = new Dictionary(); Uri sourceUri;