private async Task BeforeQueryStatusAsync(object sender, EventArgs e) { var button = (OleMenuCommand)sender; button.Visible = button.Enabled = false; if (VsHelpers.DTE.SelectedItems.MultiSelect) { return; } var solution = (IVsSolution)ServiceProvider.GetService(typeof(SVsSolution)); if (await VsHelpers.SolutionContainsManifestFileAsync(solution)) { button.Visible = true; button.Enabled = KnownUIContexts.SolutionExistsAndNotBuildingAndNotDebuggingContext.IsActive && !_libraryCommandService.IsOperationInProgress; } }