private async void InstallPackageAsync() { try { ILibrary selectedPackage = SelectedPackage; _isInstalling = true; InstallPackageCommand.CanExecute(null); Manifest manifest = await Manifest.FromFileAsync(_configFileName, _deps, CancellationToken.None).ConfigureAwait(false); string targetPath = _targetPath; if (!string.IsNullOrEmpty(_configFileName)) { Uri configContainerUri = new Uri(_configFileName, UriKind.Absolute); Uri targetUri = new Uri(targetPath, UriKind.Absolute); targetPath = configContainerUri.MakeRelativeUri(targetUri).ToString(); } manifest.AddLibrary(new LibraryInstallationState { LibraryId = PackageId, ProviderId = selectedPackage.ProviderId, DestinationPath = targetPath, Files = SelectedFiles.ToList() }); await manifest.SaveAsync(_configFileName, CancellationToken.None).ConfigureAwait(false); EnvDTE.Project project = VsHelpers.DTE.SelectedItems.Item(1)?.ProjectItem?.ContainingProject; project?.AddFileToProject(_configFileName); await LibraryHelpers.RestoreAsync(_configFileName).ConfigureAwait(false); _dispatcher.Invoke(() => { _closeDialog(true); }); } catch { } }