public ConsoleContainer() { InitializeComponent(); ThreadHelper.JoinableTaskFactory.StartOnIdle( async() => { await System.Threading.Tasks.Task.Run( async() => { var solutionManager = ServiceLocator.GetInstance <ISolutionManager>(); var productUpdateService = ServiceLocator.GetInstance <IProductUpdateService>(); var packageRestoreManager = ServiceLocator.GetInstance <IPackageRestoreManager>(); var deleteOnRestartManager = ServiceLocator.GetInstance <IDeleteOnRestartManager>(); var shell = ServiceLocator.GetGlobalService <SVsShell, IVsShell4>(); await ThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync(); RootLayout.Children.Add(new ProductUpdateBar(productUpdateService)); RootLayout.Children.Add(new PackageRestoreBar(solutionManager, packageRestoreManager)); RootLayout.Children.Add(new RestartRequestBar(deleteOnRestartManager, shell)); }); }, VsTaskRunContext.UIThreadIdlePriority); // Set DynamicResource binding in code // The reason we can't set it in XAML is that the VsBrushes class come from either // Microsoft.VisualStudio.Shell.10 or Microsoft.VisualStudio.Shell.11 assembly, // depending on whether NuGet runs inside VS10 or VS11. InitializeText.SetResourceReference(TextBlock.ForegroundProperty, VsBrushes.WindowTextKey); }
public ConsoleContainer() { InitializeComponent(); // Set DynamicResource binding in code // The reason we can't set it in XAML is that the VsBrushes class come from either // Microsoft.VisualStudio.Shell.10 or Microsoft.VisualStudio.Shell.11 assembly, // depending on whether NuGet runs inside VS10 or VS11. InitializeText.SetResourceReference(TextBlock.ForegroundProperty, VsBrushes.WindowTextKey); }
public ConsoleContainer(IProductUpdateService productUpdateService, IPackageRestoreManager packageRestoreManager) { InitializeComponent(); RootLayout.Children.Add(new ProductUpdateBar(productUpdateService)); RootLayout.Children.Add(new PackageRestoreBar(packageRestoreManager)); // Set DynamicResource binding in code // The reason we can't set it in XAML is that the VsBrushes class come from either // Microsoft.VisualStudio.Shell.10 or Microsoft.VisualStudio.Shell.11 assembly, // depending on whether NuGet runs inside VS10 or VS11. InitializeText.SetResourceReference(TextBlock.ForegroundProperty, VsBrushes.WindowTextKey); }
public ConsoleContainer() { InitializeComponent(); Loaded += ConsoleContainer_Loaded; Unloaded += ConsoleContainer_UnLoaded; ThreadHelper.JoinableTaskFactory.StartOnIdle( async() => { await System.Threading.Tasks.Task.Run( async() => { IServiceBrokerProvider serviceBrokerProvider = await ServiceLocator.GetComponentModelServiceAsync <IServiceBrokerProvider>(); IServiceBroker serviceBroker = await serviceBrokerProvider.GetAsync(); _solutionManager = await serviceBroker.GetProxyAsync <INuGetSolutionManagerService>( NuGetServices.SolutionManagerService, cancellationToken: CancellationToken.None); Assumes.NotNull(_solutionManager); IComponentModel componentModel = await ServiceLocator.GetComponentModelAsync(); var productUpdateService = componentModel.GetService <IProductUpdateService>(); var packageRestoreManager = componentModel.GetService <IPackageRestoreManager>(); var deleteOnRestartManager = componentModel.GetService <IDeleteOnRestartManager>(); var shell = await ServiceLocator.GetGlobalServiceAsync <SVsShell, IVsShell4>(); await ThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync(); RootLayout.Children.Add(new ProductUpdateBar(productUpdateService)); RootLayout.Children.Add(new PackageRestoreBar(_solutionManager, packageRestoreManager, projectContextInfo: null)); RootLayout.Children.Add(new RestartRequestBar(deleteOnRestartManager, shell)); }); }, VsTaskRunContext.UIThreadIdlePriority).PostOnFailure(nameof(ConsoleContainer)); // Set DynamicResource binding in code // The reason we can't set it in XAML is that the VsBrushes class come from either // Microsoft.VisualStudio.Shell.10 or Microsoft.VisualStudio.Shell.11 assembly, // depending on whether NuGet runs inside VS10 or VS11. InitializeText.SetResourceReference(TextBlock.ForegroundProperty, VsBrushes.WindowTextKey); }
private void Awake() { Instance = this; }