diff --git a/src/GitHub.VisualStudio/GitHubPackage.cs b/src/GitHub.VisualStudio/GitHubPackage.cs index b2f350a16b..b7b9fda994 100644 --- a/src/GitHub.VisualStudio/GitHubPackage.cs +++ b/src/GitHub.VisualStudio/GitHubPackage.cs @@ -7,6 +7,7 @@ using System.Windows; using GitHub.Api; using GitHub.Extensions; +using GitHub.Helpers; using GitHub.Info; using GitHub.Logging; using GitHub.Models; @@ -76,6 +77,9 @@ async Task InitializeMenus() return; } + // IMenuCommandService.AddCommand uses IServiceProvider.GetService and must be called on Main thread. + await ThreadingHelper.SwitchToMainThreadAsync(); + foreach (var menu in menus.Menus) serviceProvider.AddCommandHandler(menu.Guid, menu.CmdId, (s, e) => menu.Activate());